Всегда ли @PreUpdate запускается при запуске @PrePersist?

Довольно старый вопрос, и если кто-то интересуется спецификациями ECMA по этому вопросу, вот ссылка

И нет никакого способа прямого доступа для переменных модуля (кроме для импортированных модулей):

Лексическая среда и среда Значения записи являются чисто спецификационными механизмами и не должны соответствовать какому-либо конкретному артефакту реализации ECMAScript. Программа ECMAScript не может напрямую обращаться к этим значениям или манипулировать ими.

blockquote>

3
задан Mikko Maunu 30 January 2019 в 11:03
поделиться

1 ответ

Нет, метод обратного вызова @PreUpdate не всегда выполняется, когда выполняется метод обратного вызова @PrePersist. @PrePersist выполняется до операции постоянства (прямой или каскадный) и @PreUpdate до обновления базы данных.

В спецификации JPA 2.1 (3.5.3 Семантика методов обратного вызова жизненного цикла для объектов) об этом говорят следующие слова:

Методы обратного вызова PrePersist и PreRemove вызываются для данного объекта перед соответствующие EntityManager сохраняют и удаляют операции для этого объекта.
...
Обратные вызовы PreUpdate и PostUpdate происходят до и после операций обновления базы данных до данных объекта соответственно.

0
ответ дан Mikko Maunu 30 January 2019 в 11:03
поделиться
Другие вопросы по тегам:

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