Отдельный объект передается в Pesist при использовании EntityManager

У меня есть две сущности, сопоставленные с отношением один ко многим. Я сохраняю два объекта в базе данных с идентификатором 1,2

с тем же типом

Сценарий 1. Я пытаюсь удалить Id с 1 getEntityManager.remove(object1) его показать

отдельная сущность передана для сохранения для дочерней сущности.. даже найдена запись в БД.

Сценарий 2. Когда я пытаюсь удалить Id 2 getEntityManager.remove(object2) его удаление записи 2.

Это исключение происходит только для входящей записи с тем же временем.

после того, как я закрываюсь и снова открываю страницу, я удаляю ID 1,2 из базы данных, она успешно сработала.

1 ответ

Решение

com.manam.mobee.persist.entity.MobeeLabelTemplate# нуль

Осмотреть mobeeLabel.getMobeeLabelTemplates() внутри deleteLabel() и убедитесь, что у них есть идентификатор.


Редактировать:

Вам нужен идентификатор в объектах для обновления и удаления. Перед удалением mobeeLabel выполните findById, а затем удалите его. Должны быть некоторые не вставленные mobeeLabelTemplates (или не обновленные - идентификаторы не синхронизированы с БД). Попробуйте что-то вроде этого:

MobeeLabel freshMobeeToDelete = (MobeeLabel) getEntityManager().find(MobeeLabel.class, mobeeLabel.getId());
getEntityManager().remove(freshMobeeToDelete);
Другие вопросы по тегам