我收到此错误消息:
错误:找到对集合的共享引用:Person.relatedPersons
当我尝试执行时addToRelatedPersons(anotherPerson):
addToRelatedPersons(anotherPerson)
person.addToRelatedPersons(anotherPerson); anotherPerson.addToRelatedPersons(person); anotherPerson.save(); person.save();
我的网域:
Person { static hasMany = [relatedPersons:Person]; }
知道为什么会这样吗?
当您尝试持久保存多个共享 同一 集合引用的实体实例(即与集合相等性相反的集合标识)时,Hibernate会显示此错误。
请注意,这意味着同样的 集合 ,而不是集合元素- 换句话说,relatedPersons在两个person和anotherPerson必须相同。也许您是在实体加载后重置该集合?或者您已经使用相同的集合实例初始化了两个引用?
relatedPersons
person
anotherPerson