Hibernate EventType для грязного обновления

1

Что такое Hibernate EventType, который я могу прослушивать, когда происходит флеш-грязный (обновление управляемого объекта без вызова persist(), например)?

Я просмотрел документы, но не нашел тот, который запускается в этой ситуации. Https://docs.jboss.org/hibernate/orm/4.3/javadocs/org/hibernate/event/spi/EventType.html

Я нашел эту проблему, возможно, это именно то, что я хочу, но она по-прежнему открывает https://hibernate.atlassian.net/browse/HHH-8042

Я хочу, чтобы это событие добавило какой-то журнал (и автоматически обновлял колонку updatedAt). Я думаю, что я могу сделать то же самое с помощью Interceptor.onFlushDirty, но он выглядит более уродливым.

Теги:
hibernate

1 ответ

1
Лучший ответ

Существует более одного прослушивателя событий флеша:

  • DefaultFlushEntityEventListener
  • DefaultFlushEventListener
  • DefaultAutoFlushEventListener

и каждый из них имеет свой собственный способ проверки, загрязнен ли сеанс. Ни один из них не предоставляет вам точку расширения для "грязного" обновления флеша.

Таким образом, у вас есть два варианта:

  1. Вы можете использовать Interceptor.onFlushDirty
  2. Вы можете использовать аннотацию PostUpdate, чтобы добавить некоторую логику времени обновления.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню