問題描述
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,使其不被關掉。