您的位置:首页 > 其它

Hibernate懒加载对象在session.close()后为空

2018-01-23 11:17 706 查看
Hibernate查询的结果集对象其实是一个代理对象(可以使用getClass()验证)。

在session调用close()方法前,该对象是持久化状态的,是受session管理的,当开启懒加载后,当我们要访问该查询对象的某个懒加载对象属性时,session会帮我们去查询,当我们的对象离开session的托管时,那个懒加载的对象属性就为空了。

一般解决思路:使用DTO对象作为传输对象,即不把entity对象传出DAO层,不要让它离开session的托管,传出去的是经过装配的DTO对象!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐