【发布时间】:2018-04-03 07:00:27
【问题描述】:
我使用 Hibernate 5.0 处理 Spring Boot 项目。不幸的是,即使在事务提交之后,Hibernate 也不会抛出 LazyInitializationException 来读取延迟初始化的对象。如何在事务之外启用LazyInitializationException?
(当前行为隐藏了代码中的错误。)
【问题讨论】:
-
请给我们一些细节;启用 showSql 选项并查看 hibernate 发出的查询,看看是否在事务期间检索了惰性字段。
-
你确定惰性对象真的被初始化了吗?
-
延迟加载与事务无关,而是
EntityManager的生命周期默认情况下对整个请求保持打开状态(请参阅下面 Babtiste 的回答)。您能否详细说明“隐藏错误”声明?为什么能够调用返回正确结果的方法是一个错误?