Multiple representations of the same entity are being merged解決方案
阿新 • • 發佈:2019-01-09
在此記錄一下,專案中出現的問題:
Multiple representations of the same entity are being merged
顧名思義:當出現問題的時候,先考慮出現問題的原因,以及發生的場景,還原當時的面貌,這是一個偵探該有的逼格,
真相只有一個。
迴歸正題:不扯淡蛋了,根據經驗,首先我想到的,元素重複merge了,但是問題來了,如果元素重複merge就會造成錯誤嗎,不就是重複更新一下就行了,不至於出錯誤吧,但是眼見為實,耳聽為虛,我balabala google,發現一個網站,此網站https://hibernate.atlassian.net/browse/HHH-9106 給出了結論:看圖識字
此為hibernate一個嚴重bug,此bug已經在4.2.15版本中解決了,下面說幾種現實用法
在hibernate的配置檔案中新增如下屬性:
<property name="hibernate.event.merge.entity_copy_observer">allow</property>
- 1
如果使用的Spring 管理hibernate, 在你的spring的資料來源中配置
<prop key="hibernate.event.merge.entity_copy_observer">allow</prop>
如果使用的Spring-data-jpa管理hibernate, 在你的yaml中配置
jpa: properties: hibernate: # 解決單元測試中的 LAZY on session 問題 enable_lazy_load_no_trans: true
# 解決hibernate multiple merge問題 event: merge: entity_copy_observer: allow
在此寫下,忘君謹記。