錯誤信息:
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、讓連接在操作完成之後才關閉