13.7.4. エンティティー監査の開始
13.7.4.1. JPA エンティティーへの監査サポートの追加
JBoss EAP 6 は、エンティティー監査を使用します。「Hibernate Envers について」、永続クラスの履歴変更を追跡します。このトピックでは、JPA エンティティーの監査サポートの追加について説明します。
手順13.7 JPA エンティティーへの監査サポートの追加
- デプロイメントに適した利用可能な監査パラメーターを設定します: 「Envers パラメーターの設定」
- 監査する JPA エンティティーを開きます。
- をインポートします
org.hibernate.envers.Audited
インターフェイス。 - 監査する各フィールドまたはプロパティーに
@Audited
アノテーションを適用するか、クラス全体に対して 1 度適用します。例13.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 }
例13.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
というテーブルが作成されます。