У меня есть базовая настройка Java-проекта с использованием JPA. У меня есть классы, которые аннотируются правильно и могут без проблем вставлять данные в мою базу данных PostgreSQL.EntityManager remove() call not update database
Мой вопрос ... и я могу найти, что мне нужно, чтобы добавить больше деталей здесь ...
Это я называю «em.remove (MyObject)», где «эм» является EntityManager. Я могу видеть изменения объекта при отладке, но после завершения приложения мои изменения не отражаются в базе данных.
Будет ли вызов .remove() обновить базу данных или мне также нужно добавить вызов .flush()? Я пробовал это в Google и, должно быть, чего-то не хватает.
Спасибо!
Вы читаете объект из базы данных в той же транзакции, прежде чем удалить ее? – clav
Да, это часть той же транзакции. –
Если это не отдельный экземпляр, тогда вызов удаления должен работать. Если он отсоединен, вам сначала нужно будет управлять им с помощью Object Object = em.merge (myObject); 'и затем вызвать remove на' managed'. – clav