即使实体使用@Audit注释,也不会注册Hibernate Envers审计侦听器

时间:2016-01-06 13:28:00

标签: java jpa annotations hibernate-annotations hibernate-envers

我有Spring4.1.2,Hibernate 4.2.18,Jboss 6应用程序。我已经配置了实体和自定义修订实体。但是Envers听众仍未注册到listenerRegistry。

我尝试调试逆源,发现源[EnversIntegrator.integrate方法]正在跳过侦听器,因为它找不到任何审计表。

我也找到了根本原因。当我深入研究时,AnnotationsMetaDataReader.getDefaultAudited方法中的代码'clazz.getAnnotation(Audited.class)'总是返回null。 我确信审计注释存在于实体类中。

这似乎很奇怪,因为它适用于另一个示例应用程序。

1 个答案:

答案 0 :(得分:0)

这似乎是一个类加载问题。请确保所需的envers到位。

您的应用程序是否在战争中使用Jboss模块'org.hibernate'而不是hibernate jar?如果是这样,请在应用程序中配置jboss模块'org.hibernate.envers'。