11.7.4. エンティティー監査の開始
11.7.4.1. JPA エンティティーへの監査サポートの追加
JBoss Enterprise Application Platform 6 は、「Hibernate Envers について」 を行ってエンティティーの監査を使用し、永続クラスの変更履歴を追跡します。本トピックでは、JPA エンティティーへの監査サポートを追加する方法について取り上げます。
手順11.8 JPA エンティティーへの監査サポートの追加
- 「Envers パラメーターの設定」 に従って、デプロイメントに適した使用可能な監査パラメーターを設定します。
- 監査対象となる JPA エンティティーを開きます。
org.hibernate.envers.Audited
インターフェースをインポートします。- 監査対象となる各フィールドまたはプロパティーに
@Audited
アノテーションを付けます。または、1 度にクラス全体へアノテーションを付けます。例11.30 2 つのフィールドの監査
import org.hibernate.envers.Audited; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.GeneratedValue; import javax.persistence.Column; @Entity public class Person { @Id @GeneratedValue private int id; @Audited private String name; private String surname; @ManyToOne @Audited private Address address; // add getters, setters, constructors, equals and hashCode here }
例11.31 クラス全体の監査
import org.hibernate.envers.Audited; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.GeneratedValue; import javax.persistence.Column; @Entity @Audited public class Person { @Id @GeneratedValue private int id; private String name; private String surname; @ManyToOne private Address address; // add getters, setters, constructors, equals and hashCode here }
結果
JPA エンティティーの監査が設定されました。変更履歴を保存するため Entity_AUD
と呼ばれるテーブルが作成されます。