问题描述
在以jpa的方式访问oracle数据库时发现关联表的数据查询不到
解决方法
大体意思是:hibernate的懒加载出现异常,由于seesion被释放了。
自己调试了发现是在找下一级关系的时候,无法找到目标实体类导致的。
网上找过一些方法都是让你把hibernate实体映射的由
fetch=FetchType.LAZY改为这种FetchType.EAGER但是也是无补于事。
看到stackoverflow上一个解决方案在service层的方法添加
@Transactional开启事务,最后完美解决了,下一级的关系也找到了
原理
在service层的方法上添加@Transactional开启事务,因为这样可以保持seesion,使其不被关掉。