目前,我们正在为所有Hibernate库使用版本3.6.9.Final,包括Hibernate Envers用于我们的审计修订。
我们希望转移到4.1.8.Final版本(使用@Audited(withModifiedFlag = true)等),但只适用于Hibernate启用程序。不幸的是,它似乎不起作用。当我修改@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据我所知,版本4的Envers不再需要这些声明。没有它们,我就没有错误,但是修订没有创建。我不能将这些声明设置回原来的位置,因为v3和v4之间的类并不相同(特别是不再存在的org.hibernate.envers.event.AuditEventListener )。
有什么办法让它起作用吗?
发布于 2013-01-07 08:05:05
不,这是不可能的,您必须使用相同的Hibernate和Envers版本。
https://stackoverflow.com/questions/14067514
复制相似问题