11.7.5.4. Envers の設定プロパティー
プロパティー名 | デフォルト値 | 説明 |
---|---|---|
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
|
リビジョンタイプを保持する監査エンティティーのフィールド名。現在のリビジョンタイプは、
add 、mod 、および 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 回保存されることになります。
|
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_timestamp が true と評価された場合のみ使用されます。
|