Удалить сущность при использовании двух экземпляров 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);

Это лучше, потому что вы получаете ленивый экземпляр. Извините за мой английский)

Другие вопросы по тегам