13.7.5.3. 条件監査の設定
概要
Hibernate Envers は、一連のイベントリスナーを使用して、さまざまな Hibernate イベントに対する応答で監査データを永続化します。Envers jar がクラスパスにある場合、これらのリスナーは自動的に登録されます。このタスクでは、Envers イベントリスナーの一部をオーバーライドすることにより、条件付き監査を実装するために必要な手順について説明します。
手順13.10 条件監査の実装
persistence.xml
ファイルでhibernate.listeners.envers.autoRegister
を false に設定します。- 上書きされる各イベントリスナーをサブクラス化します。条件付き監査ロジックをサブクラスに配置し、監査を実行する必要がある場合は super メソッドを呼び出します。
org.hibernate.envers.event.EnversIntegrator
に類似した、org.hibernate.integrator.spi.Integrator
のカスタム実装を作成します。デフォルトのクラスではなく、ステップ 2 で作成したイベントリスナーサブクラスを使用します。META-INF/services/org.hibernate.integrator.spi.Integrator
ファイルを jar に追加します。このファイルには、インターフェースを実装するクラスの完全修飾名が含まれている必要があります。
結果
条件付き監査が設定され、デフォルトの Envers イベントリスナーがオーバーライドされます。