порядок вызовов прослушивателя сущностей

Я читаю об обратных вызовах и слушателях сущностей, и я пришел к объяснению, которое не очень ясно в моей голове:

Когда возникает событие, слушатели выполняются в следующем порядке:

1 @EntityListeners для данной сущности или суперкласса в порядке массива

2 прослушивателя сущностей для суперклассов (сначала самые высокие)

3 Entity Listeners для сущности

4 Обратные вызовы суперклассов (сначала самые высокие)

5 Обратные вызовы сущности

Приведенный выше текст взят из здесь, и он появляется в разных местах в Интернете, но почти в одинаковой форме.

В чем разница между 1 и 3? Предназначен ли 3 для слушателей, определенных в «глобальных» XML-файлах?


person Mihai Ocneanu    schedule 23.05.2014    source источник


Ответы (1)


1 @EntityListener для данной сущности

означает методы обратного вызова @PostLoad, @PrePersist и т. д. в самой сущности

3 Entity Listeners для сущности

означает аннотации @EntityListener в классе Entity.

Если вы определите «глобальный» orm.xml и установите там entitylisteners для объекта, он перезапишет аннотации на самом объекте. https://docs.jboss.org/hibernate/stable/annotations/reference/en/html/xml-overriding.html

person Tamas Bodis    schedule 19.03.2015