我收到此错误消息:
error: Found shared references to a collection: Person.relatedPersons
当我尝试执行 addToRelatedPersons(anotherPerson)
时:
person.addToRelatedPersons(anotherPerson);
anotherPerson.addToRelatedPersons(person);
anotherPerson.save();
person.save();
我的域名:
Person {
static hasMany = [relatedPersons:Person];
}
知道为什么会这样吗?
最佳答案
当您尝试持久化多个实体实例共享相同集合引用(即集合标识与集合相等性对比)时,Hibernate 会显示此错误。
请注意,它表示相同的 collection,而不是 collection 元素 - 换句话说,person
和 anotherPerson上的
必须相同。也许您正在加载实体后重置该集合?或者你已经用同一个集合实例初始化了两个引用?relatedPersons
关于java - 找到对集合 org.hibernate.HibernateException 的共享引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1692871/