Hibernate使用过程有哪些问题呢?
1,在进行Query类操作的时候session需在最后关闭;例如:try { Query query = session。createQuery(sql); list = query。 list(); tx。commit(); } catch (HibernateException e) { e。printStackTrace(); }。。对list操作的一些代码。 。session。close(); 经常看到网上会这样写:try { Query query = session。createQuery(sql); list = query。list...全部
1,在进行Query类操作的时候session需在最后关闭;例如:try { Query query = session。createQuery(sql); list = query。
list(); tx。commit(); } catch (HibernateException e) { e。printStackTrace(); }。。对list操作的一些代码。
。session。close(); 经常看到网上会这样写:try { Query query = session。createQuery(sql); list = query。list(); tx。
commit(); session。close() } catch (HibernateException e) { e。printStackTrace(); }结果他没有对list进行过多的操作,可能是我理解的角度有问题,然后我也用了网上的例子,然后对list进行操作,结果在对list进行操作的时候会忽然中断掉,原来是session的问题,只要把session。
close()放到list操作代码后面,就不会出现中断的问题。2。几个高度概括的操作:public boolean update(Object o){ try{ session。update(o); tx。
commit(); session。close(); }catch(HibernateException e){ e。printStackTrace(); return false; } return true; } public boolean delete(Object o){ try{ session。
delete(o); tx。commit(); session。close(); }catch(HibernateException e){ e。printStackTrace(); return false; } return true; }直接对session进行操作,可能会产生问题。
。目前还没有学习事务处理,先搁着吧。3,一对一关联操作:一对一关系有两种形式,一种是共享主键方式,另一种是惟一外键方式,最常用的我想应该是唯一外键方式了吧简单例子,表一 employee(id,name,deptId)(deptId是外键)表二 dept(id,name)我们需要对employee对应的hbm文件进行修改:把原来的
改成然后在po里面也要进行修改:把deptId属性改成dept对象,这样就可以了。
然后如果要查询员工号为1的部门名称,那么我们就可以通过employee。getDept()。getName()进行查询,如下是查询所有的员工信息:sql = "from Employee employee"; try { Query query = session。
createQuery(sql); list = query。list(); tx。commit(); } catch (HibernateException e) { e。
printStackTrace(); }如果要查询相对应的员工号的员工,那么我们可以通过employee。getDept()。getName()进行查询。收起