2012-12-28 65 views
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)。

那麼有沒有辦法讓它工作?

回答

0

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

相關問題