PersistentObjectException: detached entity passed to persist thrown by JPA and Hibernate

This is a typical bidirectional consistency problem. It is well discussed in this link as well as this link.

As per the articles in the previous 2 links you need to fix your setters in both sides of the bidirectional relationship. An example setter for the One side is in this link.

An example setter for the Many side is in this link.

After you correct your setters you want to declare the Entity access type to be “Property”. Best practice to declare “Property” access type is to move ALL the annotations from the member properties to the corresponding getters. A big word of caution is not to mix “Field” and “Property” access types within the entity class otherwise the behavior is undefined by the JSR-317 specifications.

Leave a Comment