我的 Java Web 应用程序使用 Hibernate 来执行 ORM。在我的一些对象中,我使用延迟加载来避免获取数据,直到我绝对需要它。问题是我在 session 中加载初始对象,然后该 session 被销毁。当我稍后尝试解析对象中的延迟加载集合时,出现以下错误:
org.hibernate.LazyInitializationException:未能延迟初始化角色集合:common.model.impl.User.groups,没有 session 或 session 被关闭
我尝试将新 session 与集合关联,然后解析,但这给出了相同的结果。
有谁知道原始 session 消失后如何解决惰性集合问题?
谢谢...
--史蒂夫
最佳答案
三个选项:
每当集合即将与当前 session 断开连接时,调用
Hibernate.initialize(..)
将集合声明为
FetchType.EAGER
将您的用户对象合并(..)
回新 session
关于java - Hibernate 中的延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2179766/