我有一個Java應用程序,它使用Spring Data(與JPA和Hibernate)通過服務和存儲庫層與數據庫進行交互。它的大部分工作正常,但我有一個問題測試節省呼籲組成的對象:使用Spring Data/JPA/Hibernate與分離實體測試保存調用
涉及三個對象:
- 目標AI從數據庫
- 對象BI獲得創造的一個新實例在測試
- 對象CI要保存到具有多對一關係到對象A和一對一的關係向對象B的數據庫(和兩者的情況下附連到它)
(級聯設置合併並堅持)
現在,當試圖使用對象C的服務保存它時,我得到一個分離實體異常。在將@Transactional
放在測試方法的頂部時,我無法檢查數據庫的狀態,因爲事務仍處於打開狀態。 (用@Transactional
單獨的方法檢索和創建對象+保存調用沒有做任何事情,試圖抓住實體管理器並沖洗它也沒有幫助。)
我敢肯定這可能是一個常見問題(或者只是我的誤解),但我還沒有找到任何解決方案,並會感謝任何建議。
版本中使用:
- 春4.0.5
- JPA 2.1
- 的Hibernate 4.3.5
感謝您的回覆,但級聯類型已設置爲MERGE和PERSIST – DrunkenPope 2014-09-10 15:11:31