Found shared references to a collection org.hibernate.HibernateException
Hibernate shows this error when you attempt to persist more than one entity instance sharing the same collection reference (i.e. the collection identity in contrast with collection equality).
Note that it means the same collection, not collection element - in other words relatedPersons
on both person
and anotherPerson
must be the same. Perhaps you're resetting that collection after entities are loaded? Or you've initialized both references with the same collection instance?
I had the same problem. In my case, the issue was that someone used BeanUtils to copy the properties of one entity to another, so we ended up having two entities referencing the same collection.
Given that I spent some time investigating this issue, I would recommend the following checklist:
Look for scenarios like
entity1.setCollection(entity2.getCollection())
andgetCollection
returns the internal reference to the collection (if getCollection() returns a new instance of the collection, then you don't need to worry).Look if
clone()
has been implemented correctly.Look for
BeanUtils.copyProperties(entity1, entity2)
.