Glassfish / Hibernate сохранить без вызова явным образом сохранить - PullRequest
3 голосов
/ 22 ноября 2011

Я использую Glassfish 2 и управляемую контейнером персистентность с Hibernate 3.2 в качестве поставщика персистентности. У меня есть некоторый метод поиска в моей бизнес-логике, который манипулирует некоторыми постоянными сущностями, которые были получены с помощью EntityManager. Манипуляция - это просто изменение свойства String (удаление элемента из коллекции приводит к тому же эффекту).
Я не называю ничего вроде save или persist на моем EntityManager. Я просто хочу вернуть некоторые измененные объекты моему клиенту.

Кажется, когда контейнер фиксирует транзакцию, изменения в моей сущности сохраняются автоматически. Есть ли какое-то волшебное поведение Hibernate или Glassfish, которое я до сих пор полностью пропустил?

1 Ответ

4 голосов
/ 22 ноября 2011

Если выбранная вами сущность находится в состоянии Managed, то в конце транзакции изменения, внесенные в сущность, будут сохранены. Это контракт, которому должен подчиняться поставщик JPA.

Этот вопрос может быть полезен для вас: Транзакционные сохранения без вызова метода обновления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...