Ошибка гибернации: org.hibernate.NonUniqueObjectException: другой объект с таким же значением идентификатора уже был связан с сеансом [дубликат]

12
задан Community 23 May 2017 в 11:58
поделиться

2 ответа

Помимо простого вызова clear() в сеансе, похоже, у вас могут быть проблемы с тем, как вы используете Hibernate:

Судя по всему, проблема в том, что объект, который я извлекаю из базы данных имеет тот же идентификатор, что и тот, который я хочу обновить (как и должно быть), НО это не те же объекты!

Вы хотите сказать, что у вас есть две разные сущности с одинаковым идентификатором? Если это так, то вы должны найти другое поле, которое однозначно идентифицирует разные объекты.

0
ответ дан 2 December 2019 в 03:07
поделиться

выберите любой из них:

1 - вы можете закрыть сеанс после загрузки объекта и открыть новый сеанс для обновления

2 - вместо создания нового объекта для обновления используйте старый один и отредактируйте его.

3 - отсоединить ваш первый объект от сеанса - session.evict(myEntity)

4
ответ дан 2 December 2019 в 03:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: