12.3.2 persistence-unit-metadata以下の要素
- 〈この項の構成〉
(1) <persistence-unit-metadata>
PersistenceUnit全体に関する定義を指定します。
(2) <xml-mapping-metadata-complete>
xml-mapping-metadata-complete要素を指定すると,永続化ユニットのマッピングメタデータは抑止され,クラスで指定したアノテーションは無視されます。
xml-mapping-metadata-complete要素が指定され,XML要素が省略されると,デフォルト値が有効になります。
- 注意事項
-
アノテーションが指定されている場合,この要素を指定することによって,KDJE55532-Wのメッセージが出力されることがあります。
(3) <persistence-unit-defaults>
永続化ユニットのデフォルト値を指定します。
(4) <schema>
schema要素は,永続化ユニット内のすべてのEntityクラス,テーブルジェネレータ,および結合表に適用されます。
schema要素は,次の要素や属性によって上書きされます。
-
entity-mappings要素のschema要素。
-
Entityクラスの@Tableや@SecondaryTableに明確に指定されたschema属性。
-
entity要素のtable要素やsecondary-table要素に指定されたschema属性。
-
@TableGeneratorやtable-generator要素に明確に指定されたschema要素。
-
@JoinTableやjoin-table要素に明確に指定されたschema要素。
(5) <catalog>
catalog要素は,永続化ユニット内のすべてのEntityクラス,テーブルジェネレータ,結合表に適用されます。
catalog要素は,次の要素や属性によって上書きされます。
-
entity-mappings要素のcatalog要素。
-
Entityクラスの@Tableや@SecondaryTableに明確に指定されたcatalog属性。
-
entity要素のtable要素やsecondary-table要素に指定されたcatalog属性。
-
@TableGeneratorやtable-generator要素に明確に指定されたcatalog要素。
-
@JoinTableやjoin-table要素に明確に指定されたcatalog要素。
- 注意事項
-
CJPAプロバイダでサポートしているOracleとHiRDBではcatalogは存在しません。そのため,catalogを指定できません。指定した場合,アプリケーション実行時に例外が発生します。
(6) <access>
access要素は,永続化ユニット内のすべての管理されたクラスで適用されます。
access要素は,次のアノテーションや要素や属性によって上書きされます。
-
Entityクラスのアノテーションの指定位置によって決まるアクセスタイプ。
-
entity-mappings要素のaccess要素。
-
entity要素やmapped-superclass要素やembeddable要素で定義されたaccess属性。
- 注意事項
-
指定値には,PROPERTYまたはFIELDを指定します。エンティティクラスのフィールドに対するアクセス方法の指定については,「8.12.3 エンティティクラスのフィールドに対するアクセス方法の指定」を参照してください。
(7) <cascade-persist>
cascade-persist要素は,永続化ユニット内のすべてのリレーションシップで適用されます。
cascade-persist要素の指定は,アノテーションかO/Rマッピングファイルで指定された値に加えてすべてのリレーションシップにカスケード永続化オプションを追加します。
- 注意事項
-
cascade-persist要素を指定すると,上書きや無効化することができません。
(8) <entity-listeners>
entity-listeners要素は,永続化ユニットのデフォルトエンティティリスナを定義します。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。