Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

13.7.5.3. 条件監査の設定

概要

Hibernate Envers は、一連のイベントリスナーを使用して、さまざまな Hibernate イベントに対する応答で監査データを永続化します。Envers jar がクラスパスにある場合、これらのリスナーは自動的に登録されます。このタスクでは、Envers イベントリスナーの一部をオーバーライドすることにより、条件付き監査を実装するために必要な手順について説明します。

手順13.10 条件監査の実装

  1. persistence.xml ファイルで hibernate.listeners.envers.autoRegister を false に設定します。
  2. 上書きされる各イベントリスナーをサブクラス化します。条件付き監査ロジックをサブクラスに配置し、監査を実行する必要がある場合は super メソッドを呼び出します。
  3. org.hibernate.envers.event.EnversIntegrator に類似した、org.hibernate.integrator.spi.Integrator のカスタム実装を作成します。デフォルトのクラスではなく、ステップ 2 で作成したイベントリスナーサブクラスを使用します。
  4. META-INF/services/org.hibernate.integrator.spi.Integrator ファイルを jar に追加します。このファイルには、インターフェースを実装するクラスの完全修飾名が含まれている必要があります。

結果

条件付き監査が設定され、デフォルトの Envers イベントリスナーがオーバーライドされます。