对于openSession 获得的Session 在get 或者load 对象时 是不用开启事务的
而对于getCurrentSession 获得的Session 在get 或者load时 是要开启事务的
openSession 不开事务
![](/attachment/201303/17/28162126_1363532160XHZ2.jpg)
结果:
getCurrentSession 不开事务 及 结果
getCurrentSession 事务提交 后 在关闭Session 出现的结果
之所以出现这个错误是因为在getCurrentSession 获得的Session 在commit的时候回自动关闭 如果再次关闭的话 就会出现以上的错误
而openSession 提交事务后还需手动关闭Seesion
get 与 load 的不同点在于load是通过代理来实现记录的访问的 而 get的话 如果记录不存在会返回一个null值 在对象变成托管的时候还是能够访问非空对象的
阅读(156) | 评论(0) | 转发(0) |