現在、3.6.9.Final
監査リビジョン用の Hibernate Envers を含むすべての Hibernate ライブラリにこのバージョンを使用しています。
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
、それはもう存在しません)。
それで、それを機能させる方法はありますか?