Multiple representations of the same entity[e#1470] are being merged.解决方法
来源:互联网 发布:java变量初始化 编辑:程序博客网 时间:2024/06/02 04:11
Multiple representations of the same entity are being merged.
Caused by: java.lang.IllegalStateException: Multiple representations of the same entity [Address#AddressId@5047ce78] are being merged. Managed: [Address@5c220478]; Detached: [Address@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>
阅读全文
0 0
- Multiple representations of the same entity[e#1470] are being merged.解决方法
- Multiple representations of the same entity are being merged解决方法
- Find the first intersection of two lists (if the two list are merged at some point)
- Spark 2.1 , Method used to prevent multiple SparkContexts from being active at the same time
- Use of the same entity name twice: XXX
- Entity Systems are the future of MMOG development
- How to combine the value of multiple hashes within an array by the same key
- Convergent Learning: Do different neural networks learn the same representations?
- whether the results are the same of getClass().getName() called in child class and parent class?
- Of course the same
- Can I use multiple versions of jQuery on the same page?
- Install multiple instances of Reporting Services on the same computer (for use with Microsoft Dynami
- E(1862): The Same Game
- tn nike pas cher and they are the same age fellow worthy of their admiration
- Loading Multiple Versions of same Assembly
- Compare two files are exactly the same
- Are All Home Security Cameras the Same?
- Codewars解题Are they the "same"?
- linux使用crontab实现PHP执行定时任务
- logict分类器和sigmoid分类器
- 架构师---(大型网站技术架构核心原理与案例分析)3大型网站架构核心要素
- SSL P2691 隐藏的信息
- HDU 6108 2017 百度之星 初赛A 1001 小C的倍数问题
- Multiple representations of the same entity[e#1470] are being merged.解决方法
- mysql模糊查找英文可以查找中文不行(详细记录)
- 自己写的 傻瓜 插入排序
- SPring MVC 入门案例
- 【05】20行js代码实现的贪吃蛇小游戏
- NG机器学习week5 Neural Networks: Learning
- bzoj 2882(最小表示法)
- Springmvc @interface注解的使用
- Android View部分消失效果实现