目前,我们正在为我们所有的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
不再存在)。
那么有没有办法让它发挥作用?
答案 0 :(得分:0)
不,这是不可能的,你必须使用相同的Hibernate和Envers版本。