JPA - сохранение изменений без сохраняется () вызванный

Отобразитесь Разработчик Запроса с CTRL + SHIFT + Q

10
задан Alexander Pozdneev 8 November 2019 в 10:47
поделиться

1 ответ

Вы работаете с управляемым объектом. Если объект не отсоединяется из-за того, что его диспетчер объектов закрыт, все изменения, внесенные в объект, отражаются в базе данных, когда сеанс сбрасывается / закрывается и транзакция фиксируется.

Из руководства Java EE ]:

Состояние постоянных сущностей синхронизируется с базой данных, когда сделка, в которой участвует организация связанные коммиты.

Редактировать для ясности и объяснения : Таким образом, существует три различных режима, в которых объект может находиться в течение своего жизненного цикла:

  • Несохраненный : объект был создан, но сохраняется () еще не был вызван.
  • Управляемый : сущность сохранена с помощью persist () или загружена из базы данных и связана с сеансом диспетчера сущностей. Все изменения объекта отражаются в базе данных при сбросе сеанса диспетчера объектов.
  • Отсоединен : сеанс диспетчера объектов был закрыт. Изменения объекта не будут отражены в базе данных автоматически, но могут быть объединены явно с помощью команды merge () .
12
ответ дан 4 December 2019 в 00:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: