Удалить сущность при использовании двух экземпляров EntityManger
Я пытаюсь удалить объект, но получаю следующее исключение:
java.lang.IllegalArgumentException: Removing a detached instance
Я понимаю, что моя проблема в том, что я использую два разных экземпляра EntityManger. Я искал решение, но все решения, которые я нашел, были примерно такими:
entityManger.remove(entityManger.merge(entity));
Есть другой способ решить эту проблему вместо использования функции слияния и удаления?
1 ответ
Решение
Исключение говорит, что ваша сущность не управляется постоянным контекстом. Вы не можете удалить неуправляемую сущность. Ты можешь использовать
Entity entity = entityManager.getReference(Entity.class, id);
entityManager.remove(entity);
Это лучше, потому что вы получаете ленивый экземпляр. Извините за мой английский)