Запустить настраиваемый прослушиватель событий Hibernate перед автоматически запускаемыми прослушивателями по умолчанию

Я создал пользовательский прослушиватель событий Hibernate, расширяющий org.hibernate.event.PreInsertEventListener. Пользовательский прослушиватель переопределяет метод onPreInsert и устанавливает поле объекта «Контакт» перед сохранением его в БД с помощью DAO.

Проблема в том, что поле было пустым до того, как слушатель предоставит ему значение, и автоматически запускаются прослушиватели событий гибернации по умолчанию ПЕРЕД моим пользовательским слушателем. Когда они проверяют ddl, они видят ограничение not-null для поля и генерируют исключение проверки null, прежде чем позволить моему настраиваемому прослушивателю событий дать полю его значение. (такая же проблема возникает при использовании Spring AOP вместо настраиваемых слушателей спящего режима: слушатель спящего режима по умолчанию выполняется перед моим методом аспекта)

Таким образом, можно настроить порядок запуска слушателей спящего режима, зная, что я использую фабрику весенних сессий ?

Спасибо

8
задан Jihed Amine 30 May 2011 в 15:17
поделиться