【发布时间】:2012-12-13 14:25:29
【问题描述】:
目前,我们所有的 Hibernate 库都使用 3.6.9.Final 版本,包括用于审计修订的 Hibernate Envers。
我们希望迁移到 4.1.8.Final 版本(以使用 @Audited(withModifiedFlag = true) 等),但仅用于 Hibernate Envers。不幸的是,它似乎不起作用。当我修改 @Audited 实体时,Envers 不会保存修订。
也许是由于听众的定义?在 3.6.9 中,我在 hibernate.properties 文件中设置了以下属性:
hibernate.ejb.event.post-insert=org.hibernate.ejb.event.EJB3PostInsertEventListener,org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.post-update=org.hibernate.ejb.event.EJB3PostUpdateEventListener,org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.post-delete=org.hibernate.ejb.event.EJB3PostDeleteEventListener,org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.pre-collection-update=org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.pre-collection-remove=org.hibernate.envers.event.AuditEventListener
hibernate.ejb.event.post-collection-recreate=org.hibernate.envers.event.AuditEventListener
据我所知,Envers 版本 4 不再需要这些声明。没有它们,我不会出错,但不会创建修订。我无法重新设置这些声明,因为 v3 和 v4 之间的类不一样(尤其是不再存在的 org.hibernate.envers.event.AuditEventListener)。
那么有没有办法让它工作呢?
【问题讨论】:
标签: java hibernate hibernate-envers