Red Hat Training

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

13.7.5.4. Envers 設定プロパティー

表13.12 エンティティーデータのバージョン管理設定パラメーター

プロパティー名 デフォルト値 説明
org.hibernate.envers.audit_table_prefix
監査されたエンティティーの名前の前に付加される文字列。監査情報を保持するエンティティーの名前を作成します。
org.hibernate.envers.audit_table_suffix
_AUD
監査されたエンティティーの名前に付加される文字列。監査情報を保持するエンティティーの名前を作成します。たとえば、テーブル名が Person のエンティティーが監査されると、Envers は、履歴データを格納する Person_AUD と呼ばれるテーブルを生成します。
org.hibernate.envers.revision_field_name
REV
改訂番号を保持する監査エンティティーのフィールド名。
org.hibernate.envers.revision_type_field_name
REVTYPE
改訂の種類を保持する監査エンティティーのフィールド名。可能なリビジョンの現在のタイプは、addmod、および del です。
org.hibernate.envers.revision_on_collection_change
true
このプロパティーは、所有の変更のない関係フィールドがある場合にリビジョンを生成するかどうかを決定します。これは、一対多数の関係のコレクションであるか、または一対一の関係で mappedBy 属性を使用するフィールドになります。
org.hibernate.envers.do_not_audit_optimistic_locking_field
true
true の場合、(@Version でアノテーション付けされた) 楽観的ロックに使用されるプロパティーは自動的に監査から除外されます。
org.hibernate.envers.store_data_at_delete
false
このプロパティーは、ID のみではなく、エンティティーデータを削除するときに、エンティティーデータをリビジョンに保存するかどうかを定義します。その他のすべてのプロパティーは null とマークされます。通常、データは最後から 2 番目のバージョンにあるため、これは必須ではありません。ただし時折、最後のリビジョンでアクセスすることが簡単で、より効率的になる場合があります。ただし、これは、削除前に含まれるエンティティーのデータが 2 回保存されることを意味します。
org.hibernate.envers.default_schema
null (通常のテーブルと同じ)
監査テーブルに使用されるデフォルトのスキーマ名。@AuditTable(schema="...") アノテーションを使用して上書き可能。これがない場合、スキーマは通常のテーブルのスキーマと同じになります。
org.hibernate.envers.default_catalog
null (通常のテーブルと同じ)
監査テーブルに使用するデフォルトのカタログ名。@AuditTable(catalog="...") アノテーションを使用して上書き可能。存在しない場合、カタログは通常のテーブルのカタログと同じになります。
org.hibernate.envers.audit_strategy
org.hibernate.envers.strategy.DefaultAuditStrategy
このプロパティーは、監査データの永続化時に使用する必要のある監査ストラテジーを定義します。デフォルトでは、エンティティーが変更されたリビジョンのみが保存されます。または、org.hibernate.envers.strategy.ValidityAuditStrategyでは、開始リビジョンと終了リビジョンの両方を保存します。これらを組み合わせて、監査行が有効であったタイミングを定義します。
org.hibernate.envers.audit_strategy_validity_end_rev_field_name
REVEND
監査エンティティーで終了リビジョン番号を保持するコラムの名前。このプロパティーは、妥当な監査ストラテジーが使用される場合にのみ有効です。
org.hibernate.envers.audit_strategy_validity_store_revend_timestamp
false
このプロパティーは、終了リビジョン自体に加えて、データが最後に有効であった終了リビジョンのタイムスタンプも保存すべきかどうかを定義します。これは、テーブルパーティションを使用して、リレーショナルデータベースから古い監査レコードをパージする場合に便利です。パーティショニングには、テーブルに存在するコラムが必要です。このプロパティーは ValidityAuditStrategy が使用される場合にのみ評価されます。
org.hibernate.envers.audit_strategy_validity_revend_timestamp_field_name
REVEND_TSTMP
データがまだ有効であった時点での終了リビジョンのタイムスタンプのコラム名。ValidityAuditStrategy が使用されている場合にのみ使用され、 org.hibernate.envers.audit_strategy_validity_store_revend_timestamptrue と評価されます。