Слушатели аудита Hibernate Envers не зарегистрированы, даже если сущность аннотирована с помощью @Audit

У меня есть приложение Spring4.1.2, Hibernate 4.2.18, Jboss 6. У меня есть настроенные сущности и пользовательская сущность ревизии. Но все же слушатели Envers не зарегистрированы в listenerRegistry.

Я попытался отладить обратный источник и обнаружил, что источник [метод EnversIntegrator.integrate] пропускает прослушиватели, поскольку не может найти таблицы аудита.

Я также нашел первопричину. когда я углубляюсь, этот код «clazz.getAnnotation(Audited.class)» внутри метода AnnotationsMetaDataReader.getDefaultAudited всегда возвращает значение null. Я уверен, что аннотация Audited присутствует в классе сущностей.

Это кажется странным, так как он отлично работает для другого примера приложения.


person user5737581    schedule 06.01.2016    source источник


Ответы (1)


Кажется, это проблема загрузки класса. Пожалуйста, убедитесь, что необходимые конверты на месте.

Ваше приложение использует модуль Jboss «org.hibernate» вместо банок гибернации в войне? если это так, настройте модуль jboss «org.hibernate.envers» в своем приложении.

person Dinil    schedule 08.01.2016
comment
Это решило мою проблему. Спасибо. Пример приложения работает, потому что он вообще не настроен на использование модулей jboss. Классы Envers загружаются из jar, доступного в войне. - person user5737581; 08.01.2016