知识大全 hibernate点滴

Posted 操作

篇首语:对我来说,不学习,毋宁死。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 hibernate点滴相关的知识,希望对你有一定的参考价值。

这几天在学习hibernate 把一些碰到的问题给写下来 以后避免犯重复的问题 在进行Query类操作的时候session需在最后关闭 例如 try    Query query = session createQuery(sql);    list = query list();   mit();      catch (HibernateException e)    e printStackTrace();   对list操作的一些代码 session close(); 经常看到网上会这样写 try    Query query = session createQuery(sql);    list = query list();   mit();      session close()   catch (HibernateException e)    e printStackTrace();  结果他没有对list进行过多的操作 可能是我理解的角度有问题 然后我也用了网上的例子 然后对list进行操作 结果在对list进行操作的时候会忽然中断掉 原来是session的问题 只要把session close()放到list操作代码后面 就不会出现中断的问题 几个高度概括的操作 public boolean update(Object o)  try   session update(o);   mit();   session close();  catch(HibernateException e)   e printStackTrace();   return false;    return true;   public boolean delete(Object o)  try   session delete(o);   mit();   session close();  catch(HibernateException e)   e printStackTrace();   return false;    return true; 直接对session进行操作 可能会产生问题 目前还没有学习事务处理 先搁著吧 一对一关联操作 一对一关系有两种形式 一种是共享主键方式 另一种是惟一外键方式 最常用的我想应该是唯一外键方式了吧简单例子 表一 employee(id name deptId)(deptId是外键)表二 dept(id name)我们需要对employee对应的hbm文件进行修改 把原来的<property name= deptId  column= deptId  />改成<many to one name= dept  class= hib bo Dept  column= deptId  unique= true />然后在po里面也要进行修改 把deptId属性改成dept对象 这样就可以了 然后如果要查询员工号为 的部门名称 那么我们就可以通过employee getDept() getName()进行查询 如下是查询所有的员工信息 sql =  from Employee employee ;   try    Query query = session createQuery(sql);   list = query list();   mit();      catch (HibernateException e)    e printStackTrace();  如果要查询相对应的员工号的员工 那么我们可以通过employee getDept() getName()进行查询 cha138/Article/program/Java/ky/201311/28210

相关参考