Java hibernate延迟初始化问题:LazyInitializationException:延迟初始化角色集合失败
我想在我的持久层中管理一个事务, 但是,当我尝试懒洋洋地获取结果时,会出现以下错误: org.hibernate.LazyInitializationException:延迟初始化角色集合失败 我可以使用LockMode或任何其他方法来解决此问题吗?Java hibernate延迟初始化问题:LazyInitializationException:延迟初始化角色集合失败,java,hibernate,lazy-initialization,Java,Hibernate,Lazy Initialization,我想在我的持久层中管理一个事务, 但是,当我尝试懒洋洋地获取结果时,会出现以下错误: org.hibernate.LazyInitializationException:延迟初始化角色集合失败 我可以使用LockMode或任何其他方法来解决此问题吗? 是否可以在不进行任何事务的情况下通过id查找对象?您的问题是,当您尝试访问内容时,Hibernate会话已经关闭。Hibernate无法在没有会话的情况下加载内容。通常有两种方法可以缓解此问题: 在完成页面之前不要关闭会话。此模式称为“视图中的会话
是否可以在不进行任何事务的情况下通过id查找对象?您的问题是,当您尝试访问内容时,Hibernate会话已经关闭。Hibernate无法在没有会话的情况下加载内容。通常有两种方法可以缓解此问题:
编辑:您不能在Hibernate中执行事务之外的任何操作。您的问题是,当您尝试访问内容时,Hibernate会话已经关闭。Hibernate无法在没有会话的情况下加载内容。通常有两种方法可以缓解此问题:
编辑:在Hibernate中,除了事务之外,您不能做任何事情。通常问题是对象的一个属性被延迟加载。您可以做的一件事是将其预加载到查询中: 减价出售 where sale.date>:开始日期 左连接获取销售产品 这将预取sale.product对象 此网站有详细信息:
-Dave典型的问题是对象的一个属性被延迟加载。您可以做的一件事是将其预加载到查询中: 减价出售 where sale.date>:开始日期 左连接获取销售产品 这将预取sale.product对象 此网站有详细信息:
-Dave您还可以查看hibernate的官方解决方案
您还可以查看hibernate的官方解决方案
预取属性的方法有很多,因此在会话关闭后它们就在那里:
@OneToMany(fetch=FetchType.EAGER)
,但也有类似的hibernate方法李>
fetchinto
关键字李>
有许多方法可以预取属性,因此在会话关闭后它们就在那里:
@OneToMany(fetch=FetchType.EAGER)
,但也有类似的hibernate方法李>
fetchinto
关键字李>
或者只是使用另一个ORM。。。就像Ebean ORM一样,延迟加载只起作用:)或者只使用另一个ORM。。。就像Eben ORM一样,延迟加载可以正常工作:)谢谢。我知道这是因为所欠会议已结束。您能否提供有关您提供的第二个解决方案的更多信息。谢谢。我知道这是因为所欠会议已结束。您能否提供有关您提供的第二个解决方案的更多信息。