我收到此错误消息:
错误:找到对集合的共享引用:Person.relatedPersons
当我试图执行 addToRelatedPersons(anotherPerson)
时:
person.addToRelatedPersons(anotherPerson);
anotherPerson.addToRelatedPersons(person);
anotherPerson.save();
person.save();
我的域名:
Person {
static hasMany = [relatedPersons:Person];
}
知道为什么会这样吗?
原文由 nightingale2k1 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您尝试持久化共享 同一 集合引用的多个实体实例(即集合标识与集合相等性对比)时,Hibernate 会显示此错误。
请注意,它表示相同的 集合,而不是集合元素 - 换句话说
relatedPersons
person
和anotherPerson
必须相同。也许您正在加载实体后重置该集合?或者您已经使用相同的集合实例初始化了两个引用?