Hibernate エンティティを監査するために、単純な Envers + インターセプター ベースのアプローチを実装しようとしています。このために、典型的なアプローチに従って、BaseEntity
すべての監査プロパティを備えた があります。
BaseEntity{
createdOn;
createdBy;
updatedOn;
updatedBy;
}
では、それがエンティティの保存か更新かに応じて、上記のプロパティを操作するメソッドをAuditInterceptor
オーバーライドonFlushDirty
しました。onSave
保存と更新では、すべてが期待どおりに機能します。
私が直面している問題は次のとおりです。削除操作でも上記のプロパティを操作できるようにする方法が必要です。オーバーライドすると配列onDelete
へのハンドルが得られますがstate[]
、それを変更しても _AUD (監査) テーブルには反映されません。一言で言えば、監査テーブルの削除操作も監査できるようにしたいと考えています。
これに対する回避策はありますか、それとも何か不足していますか?