1. 程式人生 > >【SpringBoot】整合JPA啟動基於JPA的單元測試方法報如下錯誤:could not initialize proxy

【SpringBoot】整合JPA啟動基於JPA的單元測試方法報如下錯誤:could not initialize proxy

出現該錯誤,分析了一下原因:基於JPA的實現來說,在進行資料庫訪問的時候,針對資料庫的訪問與操作session已經關閉釋放了。

百度了一下,網上有如下解決方案:

第一種方案:在@OneToMany的引數中使用fetch=FetchType=Eager

未涉及到該註解的使用,所以未採用該方案

第二種方案:在application.properties的配置檔案中新增spring.jpa.open-in-view=true

嘗試過了,未得到解決

第三種方案:在測試方法上面加@Transactional

得到解決,這種方式雖然解決了這種報錯,但是會對增加、刪除、更新的操作進行控制,不會讓這些操作同步到資料庫。另外個人覺得,新增事務控制註解,保證了該操作過程是一個會話過程,不會導致訪問資料庫的時候session已經關閉失效的情況。