知识大全 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相关参考