Интересно, можно ли узнать, что спящий режим действительно сделал с базой данных (т.е. зафиксировал изменения). Я хотел бы уведомить другой процесс о некоторых изменениях.
Я предполагаю, что EventType POST_COMMIT_DELETE
, POST_COMMIT_UPDATE
и POST_COMMIT_INSERT
должны делать, но с точно нулевой документацией это только предположение. Может кто-нибудь подтвердить? Я что-то не хватает?
Я также не уверен, как получить то, что действительно написано. PostInsertEvent
содержит как Object entity
, так и Object[] state
, какой из двух я должен доверять?
Вопрос: я не использую ни XML, ни Spring, ни JPA, просто Configuration
и buildSessionFactory
. Это действительно так, как должны регистрироваться слушатели?
EventListenerRegistry registry = ((SessionFactoryImpl) sessionFactory)
.getServiceRegistry()
.getService(EventListenerRegistry.class);
registry.appendListeners(....);
Я спрашиваю, как его 1. зависит от детали реализации, 2 абсолютно уродливый, 3. почти совершенно не узнаваемый.