HibernateException - A collection with cascade="all-delete-orphan" was no longer referenced by the o
来源:互联网 发布:企业网站源码免费下载 编辑:程序博客网 时间:2024/05/29 03:16
本文参考自:http://cristian.sulea.net/blog.php?p=2014-06-28-hibernate-exception-a-collection-with-cascade-all-delete-orphan-was-no-longer-referenced-by-the-owning-entity-instance
异常:
org.hibernate.HibernateException:A collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance: entities.Parent.childs at org.hibernate.engine.internal.Collections.processDereferencedCollection(Collections.java:116) at org.hibernate.engine.internal.Collections.processUnreachableCollection(Collections.java:67) at org.hibernate.event.internal.AbstractFlushingEventListener.flushCollections(AbstractFlushingEventListener.java:245) at org.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:100) at org.hibernate.event.internal.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:55) at org.hibernate.internal.SessionImpl.autoFlushIfRequired(SessionImpl.java:1099) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1528) at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:374) at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:396) ...
解决办法:
当在集合中需要新增或者删出元素的时候,我们需要修改这个集合而不是重新指定一个新的集合到parent类中:
parent.getChildren().clear();parent.getChildren().addAll(someNewSetOfChildren);或者在parent的entity类中:
public void setChildren(Set<Child> someNewSetOfChildren) { // // This will override the set that Hibernate is tracking. // this.children = someNewSetOfChildren; this.children.clear(); this.children.addAll(someNewSetOfChildren);}
0 0
- HibernateException - A collection with cascade="all-delete-orphan" was no longer referenced by the o
- Don't dereference a collection with cascade="all-delete-orphan" ,这是14年遇到的问题,最近在博客上进行整理汇总
- cascade="all-delete-orphan" 处理
- cascade="all-delete-orphan" 处理
- hibernate3的cascade导致deleted object would be re-saved by cascade与 A collection with cascade="all-dele
- hibernate cascade属性 all-delete-orphan
- hibernate cascade属性 all-delete-orphan
- hibernate cascade属性 all-delete-orphan
- cascade="all-delete-orphan"时容易出现的一个异常
- hibernate cascade="all-delete-orphan"(所有-删除-孤儿)释疑
- 晕,hibernate 的 merge和cascade="all-delete-orphan"要慎重合在一起使用
- 在进行jpa更新操作中报异常Cascade="All-Delete-Orphan" 处理
- Hibernate中cascade为all-delete-orphan使用情况补充
- all-delete-orphan
- all-delete-orphan
- Hibernate all-delete-orphan
- all-delete-orphan
- HIbernate级联删除(hibernate 双向一对多中 主表设置cascade="all-delete-orphan",在save时出现
- codevs 1183 泥泞的道路(二分答案+spfa验证)
- 关于vcenter server显示与各主机连接已断开问题
- 316_getColor方法过时
- JNDI
- 继承中的问题2
- HibernateException - A collection with cascade="all-delete-orphan" was no longer referenced by the o
- ContentProvider+AsyncTaskLoader
- 317_延迟执行任务
- 《Java 源码分析》:Java NIO 之 Selector(第二部分selector.select())
- 虚函数的使用限制
- 关于浏览器UA的一些介绍
- 318_列表带链接启动网页
- WebSocket(3)-- WebSocket协议简介
- c++基础之引用