1. 程式人生 > >Multiple representations of the same entity[e#1470] are being merged.解決方法

Multiple representations of the same entity[e#1470] are being merged.解決方法

Multiple representations of the same entity are being merged.

Caused by: java.lang.IllegalStateException: Multiple representations of the same entity [Address#[email protected]5047ce78] are being merged. Managed: [[email protected]5c220478]; Detached: [[email protected]79804699] at org.hibernate.event
.internal.EntityCopyNotAllowedObserver.entityCopyDetected(EntityCopyNotAllowedObserver.java:51) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.event.internal.MergeContext.put(MergeContext.java:262) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.event.internal.DefaultMergeEventListener.entityIsPersistent(DefaultMergeEventListener.java:216
) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:192) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:886) ~[hibernate-core-4.3.11.Final.jar:4.3
.11.Final] at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:868) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.spi.CascadingActions$6.cascade(CascadingActions.java:277) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:350) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:293) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:161) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascadeCollectionElements(Cascade.java:379) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascadeCollection(Cascade.java:319) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:296) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:161) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:118) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:474) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.event.internal.DefaultMergeEventListener.entityIsPersistent(DefaultMergeEventListener.java:218) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:192) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:85) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:876) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:858) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:863) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final] at org.hibernate.jpa.spi.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:1196) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_102] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_102] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_102] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_102]

錯誤原因:
因為試圖給 某一個new 的Transient物件 的某一個屬性賦一個 已經Persistent 物件或者Detached 物件值。導致最後save 或者merge 這個Transient物件報這個錯誤。

解決方案:
升級Hibernate 版本 到4.2.15以上
在hibernate的配置檔案中新增如下屬性:

<property name="hibernate.event.merge.entity_copy_observer">allow</property>​

如果使用的spring 管理hibernate, 在你的spring的資料來源中配置

<prop key="hibernate.event.merge.entity_copy_observer">allow</prop>​

相關推薦

Multiple representations of the same entity[e#1470] are being merged.解決方法

Multiple representations of the same entity are being merged. Caused by: java.lang.IllegalStateException: Multiple representatio

Multiple representations of the same entity are being merged解決方案

在此記錄一下,專案中出現的問題:Multiple representations of the same entity are being merged顧名思義:當出現問題的時候,先考慮出現問題的原因,以及發生的場景,還原當時的面貌,這是一個偵探該有的逼格,真相只有一個。  

2017.10.22 VC助手 All instances of the lincense "XX" are in use.

開啟好久沒用的VC6.0,卻發現機器上的vc助手出問題了,有時開啟vc後根本就不能用——開啟vc時,系統提示“all instance of the license “*” are in use .VA will be disabled”,然後vc助手就用不了了。作為強迫症患者,網上查了

C中“fatal error C1075: end of file found before the left brace '{'”錯誤的幾種可能解決方法

fatal error C1075: end of file found before the left brace '{'的幾種情況 1.缺少"}",是括號不匹配的問題 2.某些特殊的轉義字元多寫了

Python——Windows安裝Python出現A program run as part of the setup did not finish as expected的解決辦法

如圖,在windows系統上安裝python時出現“There is a problem with this windows installer package. A program run a

haoxin is not in the sudoers file. This incident will be reported 解決方法

alt src family nbsp font ges 添加 repo 技術 編輯文件/etc/sudoers 文件,在該文件裏面找到 然後在這一行下面添加 haoxin ALL=(ALL) ALL haoxin is not in the sud

The project cannot be built until build path errors are resolved” 的解決方法

-c style jre until java PE ava str per 【描述 】 添加一個java 項目 , 結果項目出現報錯 - The project cannot be built until build path errors are resolved 【

Java出現The import javax.servlet cannot be resolved 的解決方法

cannot 打開 des 列表 bubuko mat mage conf 分享 出現The import javax.servlet cannot be resolved 的解決方法   網上提供的方法是,在Eclipse中,右擊項目,選擇Build Path->c

cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration解決方法

搭建dubbo服務時提示無法下載dubbo.xsd檔案,可能因為xml引用的網站地址找不當前使用dubbo版本。 具體錯誤: Multiple annotations found at this line: - cvc-complex-type.2.4.c: The mat

android異常:No resource found that matches the given name 'Theme.AppCompat.Light'解決方法

解決方法一:重新新建android專案如下圖所示選擇版本。 解決方法二: 檢視 res/values/styles.xml 下的報錯點。  <style name="AppBaseTheme" parent="Theme.AppCompat.Light">

JSP The Struts dispatcher cannot be found異常的解決方法

<%@ taglib uri="/struts-tags" prefix="s" %>報錯: This is usually caused by using Struts tagswithout the associated filter. Struts tags are only

Hibernate出現No default constructor for entity: : com.demo.dataobject.ProductInfo的解決方法

【問題】 在做junit測試的時候,為了方便,給object加上了帶參的建構函式,於是出現了報錯: org.springframework.orm.jpa.JpaSystemException: No default constructor for entity:  : com.d

git pull遇到錯誤:error: Your local changes to the following files would be overwritten by merge:解決方法

error: Your local changes to the following files would be overwritten by merge: 意思是我桌上型電腦上新修改的程式碼的檔案,將會被git伺服器上的程式碼覆蓋;我當然不想剛剛寫的程式碼被覆蓋掉,看了git的手

出現The import javax.servlet cannot be resolved 的解決方法

在Eclipse 中編寫servlet時出現:The import javax.servlet cannot be resolved 錯誤,如下圖 解決方法就是:在Eclipse中,右擊專案,選擇Build Path->configure build path->Libraries

java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä'.. 問題解決方法

剛剛在java中連線Mysql資料庫的嘗試中,程式報出瞭如下的錯誤: Exception in thread "main" java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized o

No 'Access-Control-Allow-Origin' header is present on the requested resource', 跨域訪問的解決方法

1. 當請求不在同一域名下的資原始檔(ip地址+埠號)時,會報如下錯誤: “No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://

Android N載入系統私有庫時出現is not accessible for the namespace錯誤和針對該錯誤的解決方法

谷歌從Android N開始,除了那些在Android NDK提供的庫之外,限制了應用對系統私有庫的載入。既然是限制了,想通過以前的方法去載入庫已經行不通了。所以目前的解決方法就是把應用需要載入的庫和需要依賴的庫從系統中pull出來,然後整合到自己的應用當中。本文是看了這篇

啟動 Eclipse 彈出“Failed to load the JNI shared library jvm.dll”錯誤的解決方法

原因1:給定目錄下jvm.dll不存在。 對策:(1)重新安裝jre或者jdk並配置好環境變數。(2)copy一個jvm.dll放在該目錄下。 原因2:eclipse的版本與jre或者jdk版本不一致

給大家說明。Eclipse 彈出“Failed to load the JNI shared library jvm.dll”錯誤的解決方法

 轉載請標明:http://write.blog.csdn.net/postedit 本人一開始eclipse  luna版本為32位,而安裝的jdk位64位因而報如下錯誤:Failed to load the JNI shared library jvm.dll  後來將

failed to lazily initialize a collection of role: no session or session was closed (Hibernate) 解決方法(延遲載入問題)

在學著編寫OA 許可權管理時,在jsp  頁面中通過已取得的 父模組來獲取該模組的所有子模組 JSP 程式碼片段:      <c:forEach  items="${modules}" var="module">    <c:forEach ite