错误信息:
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、让连接在操作完成之后才关闭