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,使其不被关掉。