mrk*_*nic 5 java hibernate spring-data spring-data-jpa spring-boot
将我的 Web 应用程序从 spring boot 1.5.10 升级到 spring boot 2.0.0 后,我在访问单个实体时遇到了一些运行时异常。
org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话
我的存储库:
public interface MyRepository extends JpaRepository<MyEntity, Long> {
}
Run Code Online (Sandbox Code Playgroud)
在我的一项服务中,我调用了 spring data 1.xmyRepository.findOne(id);来获取单个实体。但是 findOne(Long id) 方法在 spring data 2 中被删除了,所以我不得不切换到另一种方法。
我发现JpaRepository#getOne(ID id);切换findOne到getOne所有测试后都通过并且是绿色的。但是在运行时我收到了上面提到的异常。org.hibernate.LazyInitializationException
于是又搜索了合适的方法,发现 CrudRepository#findById(ID id)
这次一切都解决了,我很高兴,但现在的问题是,为什么我org.hibernate.LazyInitializationException在使用时得到了getOne()?
| 归档时间: |
|
| 查看次数: |
4431 次 |
| 最近记录: |