現在、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、それはもう存在しません)。
それで、それを機能させる方法はありますか?