所以我知道這個問題看起來像重複。但事實並非如此。我有一個單元測試,我運行它,我得到這個錯誤: 存在多個具有給定標識符的行。所以我在發生的地方放了一個斷點,然後當它凍結在線上,我評估它,果然我得到了錯誤。如果我立即第二次評估它......錯誤消失,我得到我期待的單項結果。這幾乎就像休眠與其自身不同步。我也只從單元測試中得到這個錯誤。 有沒有人有類似的經歷?我試過.flush(), .clear()
和其他各種各樣的東西。當測試沒有運行時,數據庫中根本沒有記錄,它告訴我是重複的。休眠多於一行的給定標識符
0
A
回答
0
哈利路亞!我發現了這個問題。顯然,我在測試本身的setup()方法中調用了一些DAO.clear()
調用。我不確定他們在那裏做了什麼。或者,如果他們擁有它們會導致hibernate出現它所顯示的問題。但是,一旦我從測試設置數據中刪除了休眠.clear()
調用,錯誤就一起消失了。我猜不是太多的人/項目使用Hibernate clear()
調用,所以也許我發現了一些與它有關的奇怪的錯誤。 提防clear()
.....
0
嘗試檢查實體關係@OneToOne
,兩個實體將包含兩個記錄之一,因此它將無法通過ID查找或裝載的結果將是雙記錄。
相關問題
- 1. 休眠:多個行具有給定標識符發現
- 2. 的Grails /休眠:與給定的標識符的行存在
- 3. 休眠:標識符
- 4. 休眠預期「標識符」
- 5. JPA-Hibernate-EJB:發現多於一行的給定標識符
- 6. org.hibernate.HibernateException:找到了多於一行的給定標識符
- 7. 休眠。增強標識符生成器
- 8. 休眠定製標識生成
- 9. 休眠:DAO且僅標識
- 10. 休眠得到由非ID對象的唯一標識符
- 11. 如何給處於休眠
- 12. 許多一對多處於休眠
- 13. 休眠標準查詢 - 不識別一對多字段屬性
- 14. org.hibernate.ObjectNotFoundException:沒有給定標識符的行
- 15. 帶休眠的Oracle 12c標識列5
- 16. 給組的行唯一標識符TSQL
- 17. 休眠多對一
- 18. 一對多休眠
- 19. 休眠 - 一對多
- 20. 休眠一對多
- 21. 取特定屬性處於休眠一一對多的關係
- 22. 休眠標準一對多問題
- 23. C#Linq組多列獲取沒有給定標識符的行
- 24. 使用非標識符屬性爲連接列休眠多對多
- 25. 休眠事務標識日誌記錄
- 26. 休眠標識列但不是主鍵
- 27. 休眠字符識別器值
- 28. 休眠驗證。作爲標識符顯示的消息
- 29. 在休眠時作爲複合標識符的組件
- 30. JPA /休眠 - x實例的標識符被更改異常