0
目前,我們針對我們所有的Hibernate庫使用版本3.6.9.Final
,包括Hibernate Envers的審計版本。是否可以在Hibernate 3中使用Envers 4?
我們要移動到4.1.8.Final
版本(用在其他事情@Audited(withModifiedFlag = true)
),但只爲休眠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
)。
那麼有沒有辦法讓它工作?