Hibernate Envers Audit Listeners 未注册,即使实体已使用 @Audit 注释
Hibernate Envers Audit Listeners are not registered even though entity are Annotated with @Audit
我有 Spring4.1.2、Hibernate 4.2.18、Jboss6 应用程序。我已经配置了实体和一个自定义修订实体。但是 Envers 听众仍然没有注册到 listenerRegistry。
我尝试调试反向源,发现源 [EnversIntegrator.integrate 方法] 正在跳过侦听器,因为它找不到任何审计表。
我也找到了根本原因。当我深入研究时,AnnotationsMetaDataReader.getDefaultAudited 方法中的代码 'clazz.getAnnotation(Audited.class)' 总是 returns 为空。
我确定实体 class.
中存在 Audited 注释
这似乎很奇怪,因为它在另一个示例应用程序中运行得很好。
这似乎是一个 class 加载问题。请确保所需的 envers 到位。
您的应用程序是否使用 Jboss 模块 'org.hibernate' 而不是 War 中的休眠 jars?如果是这样,请在您的应用程序中配置 jboss 模块 'org.hibernate.envers'。
我有 Spring4.1.2、Hibernate 4.2.18、Jboss6 应用程序。我已经配置了实体和一个自定义修订实体。但是 Envers 听众仍然没有注册到 listenerRegistry。
我尝试调试反向源,发现源 [EnversIntegrator.integrate 方法] 正在跳过侦听器,因为它找不到任何审计表。
我也找到了根本原因。当我深入研究时,AnnotationsMetaDataReader.getDefaultAudited 方法中的代码 'clazz.getAnnotation(Audited.class)' 总是 returns 为空。 我确定实体 class.
中存在 Audited 注释这似乎很奇怪,因为它在另一个示例应用程序中运行得很好。
这似乎是一个 class 加载问题。请确保所需的 envers 到位。
您的应用程序是否使用 Jboss 模块 'org.hibernate' 而不是 War 中的休眠 jars?如果是这样,请在您的应用程序中配置 jboss 模块 'org.hibernate.envers'。