何らかの状態に基づいて実行時の監査をオフにする場合は、独自のカスタム サブクラスを作成しAuditEventListener
、その型のインスタンスをIntegrateWithEnvers
メソッドに渡すことができます。
OnPostDelete
サブクラスでは、、、、、およびをOnPostInsert
オーバーライドできます。あなたの場合、おそらく と を確認する必要があります。監査したい場合は、基本メソッドを呼び出すだけです。監査したくない場合は、実装で何もしません。OnPostRecreateCollection
OnPostUpdate
OnPreRemoveCollection
OnPreUpdateCollection
evt.Entity
evt.AffectedOwnerOrNull
ただし、単純なロギングに Envers を使用するだけの場合は、おそらくこれを行う必要があることに注意してください。これを使用して履歴インスタンスを再作成する場合、一部の履歴イベントの監査を「削除」すると、履歴インスタンスをロードするときに問題が発生する可能性があります。その場合、これを行うのが安全なのは、エンティティがOrders
その存続期間全体にわたって持っているか持っていない場合のみです。