Отдельный объект передается в 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);