unable to evaluate the expression Method threw 'org.hibernate.LazyInitializa错误

问题描述

spring jpa 在写服务层跑单元测试的时候出现
unable to evaluate the expression Method threw 'org.hibernate.LazyInitializa

解决思路

问题大概意思就是,hibernate的懒加载出现异常,由于seesion被释放了。

自己调试了发现是在找下一级关系的时候,无法找到目标实体类导致的。

网上找过一些方法都是让你把hibernate实体映射的由
fetch=FetchType.LAZY改为这种FetchType.EAGER但是也是无补于事。

直到看到这篇博客他给了一个解决方案在service层的方法添加
@Transactional开启事务,最后完美解决了,下一级的关系也找到了。

解决方案

在service层的方法上添加@Transactional开启事务就行了
因为这样可以保持seesion,使其不被关掉。

你可能感兴趣的:(【Java】)