Слушатели событий Hibernate, вызывающие обновление после каскадного удаления - PullRequest
0 голосов
/ 11 июля 2019

Я работаю над кодом, использующим спящий режим PostxxxEventListeners. Для управления событиями используется Spring PublisherHandler.

В основном это работает, как и ожидалось, но у меня есть один объект с каскадным (нетерпеливым) соединением один к одному. Итак, в таблице Person у меня есть ...

@OneToOne(cascade={CascadeType.ALL}, fetch=FetchType.EAGER) 
@JoinColumn(name="`address_id`")
private Address address_id;

Моя проблема заключается в том, что когда я удаляю запись Person, я получаю событие PostUpdateEventListener в таблице Person, где адрес удаляется, и таблица Person обновляется пустым значением до того, как будет удален следующий экземпляр (запускается требуемый PostDeleteEventListener) .

Я все еще исследую это и подозреваю, что мне нужно изменить JPA или, возможно, какой-нибудь код нисходящего потока, но я подумал, является ли это общей проблемой, которую кто-то может указать на лучший подход для решения? Могу ли я сначала принудительно удалить родительский объект, чтобы я не получил обновление?

Я удалил Eager, и это не помогло. Я заметил, что у класса есть аннотация @Inheritance со стратегией JOINED.

Спасибо

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