org.hibernate.PersistentObjectException: detached entity passed to persist

Ошибка:

org.hibernate.PersistentObjectException: detached entity passed to persist

Пример, когда может возникать этот эксепшн:

Если не убрать строчку выбора стратегии создания id в автоматическом режиме, то возникнет вышеописанное исключение.

Причина заключается в том, что запись выше указывает JPA стратегию автоматического создания идентификатора при сохранении (создании) сущности. Однаков в конструкторе уже прописано, что нужно вставить идентификатор вручную. В результате, т.к. индентификатор назначается вручную в конструкторе и отсутствует, то JPA думает, что сохраняется объект, отсутствующий в контексте персистентности (detached from persistence context).

Для исправления либо убирайте в констркуторе указание id, либо убирайте GeneratedValue(strategy = …)

 

Share Button
13
19497 Total Views 6 Views Today

Добавить комментарий