是否可以在Hibernate 3中使用Envers 4?

时间:2012-12-28 09:43:30

标签: java hibernate hibernate-envers

目前,我们正在为我们所有的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不再存在)。

那么有没有办法让它发挥作用?

1 个答案:

答案 0 :(得分:0)

不,这是不可能的,你必须使用相同的Hibernate和Envers版本。