spring boot 级联查询应用 LazyInitializationException 错误

错误信息:


org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.xxx.pojo.onttomany.Customer.orders, could not initialize proxy - no Session


属于懒加载异常:默认是开启的,在做级联查询的时候容易出现这样的问题。

原因是查询完主表(实体类)的时候,当次操作的数据库连接已经关闭了,因是懒加载,在使用到数据的时候才会去读取数据库中的数据,此时连接已经关闭了,就没有连接可用,就不能再对数据库进行操作。

三种解决方法:

1、关闭懒加载

2、使用@Transactional注解,把整个方法中的操作变成一组事务,都完成之后才关闭连接,有可能连接会一直被占用。

3、让连接在操作完成之后才关闭

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章