Автоматический вызов обработчика события предка в потомках

Добрый день!

Имеем базовую сущность и ее потомков.
В базовой сущности есть атрибут, который должен автоматом заполняться при сохранении сущности.
Где разместить код по заполнению этого атрибута, чтобы в потомках заполнение также срабатывало и не надо было в потомках это заполнение вызывать дополнительно.
Заполнение должно срабатывать при создании из UI, datamanager.create, REST API.

Пока получается сделать только из UI.

Слушатель должен работать везде.

Имеете в виду слушатель на базовой сущности?

parentchild-test.zip (91.8 КБ)
Приложил пример проекта, в котором добавил слушатель на базовую сущность, а также обработчики событий JPA.
При создании потомка эти обработчики ожидаемо не срабатывают.

Пока удалось только унаследовать экран редактирования базовой сущности и его обработчики событий - это работает.

В BaseEntityEventListener замените EntityLoadingEvent<BaseEntity> (и тд) на EntityLoadingEvent<? extends BaseEntity>. Должно помочь.

Если не поможет. Попробуйте создать компонент который при старте приложения будет искать всех потомков Базовой сущности и добавлять им слушатели через EntityListenerManager#addListener

UPD: версия с <? extends BaseEntity> у меня работает. EntityListenerManager#addListener не нужен.

1 симпатия

Ярослав, спасибо!
Заработало.
Ох уж эти дженерики. :slightly_smiling_face: