6.3 O/Rマッピングファイル

O/Rマッピングファイルの構成を次に示します。

タグ名出現パターン説明
<entity-mappings>1回ルートタグ。

<description>0または1回説明を付加します。

<persistence-unit-metadata>0または1回PersistenceUnit全体に関する定義を指定します。




<xml-mapping-metadata-complete>0または1回永続化ユニットのマッピングメタデータを抑止するかどうかを指定します。

<persistence-unit-defaults>0または1回永続化ユニットのデフォルト値を指定します。

 
<schema>0または1回スキーマを定義します。

 
<catalog>0または1回カタログを定義します。

 
<access>0または1回アクセスタイプを指定します。

 
<cascade-persist>0または1回カスケード永続化オプションを追加します。


 <entity-listeners>0または1回永続化ユニットのデフォルトエンティティリスナを定義します。

  <entity-listener>0回以上エンティティリスナを指定します。

   
<pre-persist>0または1回ライフサイクルコールバックメソッドを指定します。

   
<post-persist>0または1回

   
<pre-remove>0または1回

   
<post-remove>0または1回

   
<pre-update>0または1回

   
<post-update>0または1回

   <post-load>0または1回


<package>0または1回同一マッピングファイル内の要素や属性に記載されたクラスのパッケージを指定します。

<schema>0または1回スキーマを定義します。

<catalog>0または1回カタログを定義します。

<access>0または1回アクセス方法を定義します。

<sequence-generator>0回以上シーケンスジェネレータを追加します。

<table-generator>0回以上テーブルジェネレーターを定義します。

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

<named-query>0回以上名前付きクエリを定義します。


<query>1回クエリ文字列を指定します。

<hint>0回以上クエリにヒントを付加します。

<named-native-query>0回以上名前付きネイティブクエリを定義します。


<query>1回クエリ文字列を指定します。

<hint>0回以上クエリにヒントを付加します。

<sql-result-set-mapping>0回以上SQL結果セットマッピングを定義します。




<entity-result>0回以上ネイティブSQLのクエリ結果をマッピングするためのEntityクラスを指定します。




<field-result>0回以上ネイティブSQLのクエリ結果をマッピングするためのフィールドを指定します。


<column-result>0回以上ネイティブSQLのクエリ結果をマッピングするためのカラムを指定します。

<mapped-superclass>0回以上永続化ユニットのマップドスーパークラスを定義します。




<description>0または1回永続化ユニットのマップドスーパークラスの説明を付加します。


<id-class>0または1回マップドスーパークラスで指定した@IdClassを上書きします。






<exclude-default-listeners>0または1回マップドスーパークラスとそのサブクラスのデフォルトエンティティリスナを抑止するかどうかを定義します。






<exclude-superclass-listeners>0または1回マップドスーパークラスとそのサブクラスのスーパークラスリスナを抑止するかどうかを定義します。


<entity-listeners>0または1回コールバックリスナクラスを指定します。


<entity-listener>0回以上エンティティリスナを指定します。


 
<pre-persist>0または1回ライフサイクルコールバックメソッドを指定します。


 
<post-persist>0または1回


 
<pre-remove>0または1回


 
<post-remove>0または1回


 
<pre-update>0または1回


 
<post-update>0または1回


 <post-load>0または1回






<pre-persist>0または1回マップドスーパークラスで,対応するアノテーションによるライフサイクルコールバックメソッドを定義します。


<post-persist>0または1回


<pre-remove>0または1回


<post-remove>0または1回


<pre-update>0または1回


<post-update>0または1回


<post-load>0または1回

<attributes>0または1回要素自体の定義はありません。


 

<id>0回以上※1フィールドやプロパティで指定したマッピングを上書きします。


 



<column>0または1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。

 

<generated-value>0または1回プライマリキー値生成戦術を指定します。


 



<temporal>0または1回DATE,TIME,TIMESTAMP型へマッピングをするときに指定します。

 

<table-generator>0または1回テーブルジェネレータを追加します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

 
<sequence-generator>0または1回シーケンスジェネレータを追加します。


 

<embedded-id>0または1回※1フィールドやプロパティで指定したマッピングを上書きします。

 
<attribute-override>0回以上プロパティやフィールドのマッピングを上書きします。


 

 <column>1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。


 

<basic>0回以上フィールドやプロパティで指定したマッピングを上書きします。


 



<column>0または1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。

 

<lob>0または1回※2Lob型へマッピングをするときに指定します。


 



<temporal>0または1回※2DATE,TIME,TIMESTAMP型へマッピングをするときに指定します。

 
<enumerated>0または1回※2列挙型へマッピングをするときに指定します。


 

<version>0回以上フィールドやプロパティで指定したマッピングを上書きします。


 



<column>0または1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。


 

<temporal>0または1回DATE,TIME,TIMESTAMP型へマッピングをするときに指定します。


 

<many-to-one>0回以上フィールドやプロパティで指定したマッピングを上書きします。


 



<join-column>0回以上※3所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 



<join-table>0または1回※3多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<one-to-many>0回以上フィールドやプロパティで指定したマッピングを上書きします。

 

<order-by>0または1回関連をコレクションに保持する際に付ける順序を指定します。

 

<map-key>0または1回Map型の関連としてマップキーを指定します。

 

<join-table>0または1回※4多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。


 



<join-column>0回以上※4所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<one-to-one>0回以上フィールドやプロパティで指定したマッピングを上書きします。



 





<primary-key-join-column>0回以上※5ほかのテーブルにJOINする外部キーとして使用される,プライマリキーカラムを指定します。


 



<join-column>0回以上※5所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 



<join-table>0または1回※5多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<many-to-many>0回以上フィールドやプロパティで指定したマッピングを上書きします。

 

<order-by>0または1回関連をコレクションに保持する際に付ける順序を指定します。

 

<map-key>0または1回Map型の関連としてマップキーを指定します。

 

<join-table>0または1回多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<embedded>0回以上フィールドやプロパティで指定したマッピングを上書きします。

 
<attribute-override>0回以上プロパティやフィールドのマッピングを上書きします。


 

 <column>1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。


 <transient>0回以上フィールドやプロパティで指定したマッピングを上書きします。

<entity>0回以上永続化ユニットのエンティティを定義します。


<description>0または1回永続化ユニットのエンティティの説明を付加します。




<table>0または1回Entityクラスの@Table(デフォルト値も含む)を上書きします。


<unique-constraint>0回以上DDLにユニーク制約を付加します。


 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。






<secondary-table>0回以上Entityクラスのすべての@SecondaryTableと@SecondaryTables(デフォルト値も含む)を上書きします。












<primary-key-join-column>0回以上Entityクラスのすべての@PrimaryKeyJoinColumnと@PrimaryKeyJoinColumns(デフォルト値も含む)を上書きします。


<unique-constraint>0回以上DDLにユニーク制約を付加します。


 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。








<primary-key-join-column>0回以上Entityクラスのすべての@PrimaryKeyJoinColumnと@PrimaryKeyJoinColumns(デフォルト値も含む)を上書きします。


<id-class>0または1回Entityクラスに指定された@IdClassを上書きします。




<inheritance>0または1回Entityクラスの@Inheritance(デフォルト値も含む)を上書きします。






<discriminator-value>0または1回Entityクラスの@DiscriminatorValue(デフォルト値も含む)を上書きします。






<discriminator-column>0または1回Entityクラスの@DiscriminatorColumn(デフォルト値も含む)を上書きします。




<sequence-generator>0または1回プライマリキーを作成するシーケンスジェネレータの設定を指定します。


<table-generator>0または1回プライマリキーを作成するジェネレータの設定を指定します。


<unique-constraint>0回以上DDLにユニーク制約を付加します。


 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。


<named-query>0回以上名前付きクエリを定義します。



<query>1回クエリ文字列を指定します。


<hint>0回以上クエリにヒントを付加します。


<named-native-query>0回以上名前付きネイティブクエリを定義します。



<query>1回クエリ文字列を指定します。


<hint>0回以上クエリにヒントを付加します。


<sql-result-set-mapping>0回以上SQL結果のマッピングを定義します。






<entity-result>0回以上ネイティブSQLのクエリ結果をマッピングするためのEntityクラスを指定します。






<field-result>0回以上ネイティブSQLのクエリ結果をマッピングするためのフィールドを指定します。




<column-result>0回以上ネイティブSQLのクエリ結果をマッピングするためのカラムを指定します。




<exclude-default-listeners>0または1回Entityクラスとそのサブクラスのデフォルトエンティティリスナを抑止します。




<exclude-superclass-listeners>0または1回Entityクラスとそのサブクラスのスーパークラスリスナを抑止します。




<entity-listeners>0または1回Entityクラスの@EntityListenersを上書きします。


<entity-listener>0回以上エンティティリスナを指定します。






 


<pre-persist>0または1回マップドスーパークラスで,対応するアノテーションによるライフサイクルコールバックメソッドの定義を上書きします。


 
<post-persist>0または1回


 
<pre-remove>0または1回


 
<post-remove>0または1回


 
<pre-update>0または1回


 
<post-update>0または1回


 <post-load>0または1回






<pre-persist>0または1回Entityクラスで,対応するアノテーションによるライフサイクルコールバックメソッドの定義を上書きします。


<post-persist>0または1回


<pre-remove>0または1回


<post-remove>0または1回


<pre-update>0または1回


<post-update>0または1回


<post-load>0または1回






<attribute-override>0回以上Entityクラスの@AttributeOverrideもしくは@AttributeOverridesで定義された値に追加されます。




<column>1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。






<association-override>0回以上Entityクラスの@ AssociationOverrideもしくは@AssociationOverridesで定義された値に追加されます。




<join-column>1回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。

<attributes>0または1回要素自自体の定義はありません。


 

<id>0回以上※1フィールドやプロパティで指定したマッピングを上書きします。


 



<column>0または1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。

 

<generated-value>0または1回プライマリキー値生成戦術を指定します。


 



<temporal>0または1回DATE,TIME,TIMESTAMP型へマッピングを行うときに指定します。

 

<table-generator>0または1回テーブルジェネレータを追加します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。


 

<sequence-generator>0または1回プライマリキーを作成するシーケンスジェネレータの設定を指定します。


 

<embedded-id>0または1回※1フィールドやプロパティで指定したマッピングを上書きします。



 


<attribute-override>0回以上Entityクラスの@AttributeOverrideもしくは@AttributeOverridesで定義された値に追加されます。


 

 <column>1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。


 

<basic>0回以上フィールドやプロパティで指定したマッピングを上書きします。


 



<column>0または1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。


 



<lob>0または1回※2Lob型へマッピングをするときに指定します。


 



<temporal>0または1回DATE,TIME,TIMESTAMP型へマッピングをするときに指定します。

 
<enumerated>0または1回※2列挙型へマッピングをするときに指定します。


 

<version>0回以上フィールドやプロパティで指定したマッピングを上書きします。


 



<column>0または1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。


 

<temporal>0または1回DATE,TIME,TIMESTAMP型へマッピングをするときに指定します。


 

<many-to-one>0回以上フィールドやプロパティで指定したマッピングを上書きします。


 



<join-column>0回以上※4所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 



<join-table>0または1回※4多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<one-to-many>0回以上フィールドやプロパティで指定したマッピングを上書きします。

 

<order-by>0または1回関連をコレクションに保持する際に付ける順序を指定します。

 

<map-key>0または1回Map型の関連としてマップキーを指定します。


 



<join-table>0または1回※3多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。


 



<join-column>0回以上※3所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<one-to-one>0回以上フィールドやプロパティで指定したマッピングを上書きします。




 







<primary-key-join-column>0回以上※5Entityクラスのすべての@PrimaryKeyJoinColumnと@PrimaryKeyJoinColumns(デフォルト値も含む)を上書きします。


 



<join-column>0回以上※5所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 



<join-table>0または1回※5多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<many-to-many>0回以上フィールドやプロパティで指定したマッピングを上書きします。

 

<order-by>0または1回関連をコレクションに保持する際に付ける順序を指定します。

 

<map-key>0または1回Map型の関連としてマップキーを指定します。

 

<join-table>0または1回多対多や片方向の一対多で使用する結合表を指定します。


 





<join-column>0回以上所有者側エンティティに対応する結合表の外部キーカラムを指定します。


 





<inverse-join-column>0回以上被所有者側エンティティに対応する結合表の外部キーカラムを指定します。

 

<unique-constraint>0回以上DDLにユニーク制約を付加します。

 

 <column-name>1回以上ユニーク制約を付加するカラムの名前を指定します。

 
<cascade>0または1回カスケード可能な操作を指定します。

 
 
<cascade-all>0または1回すべての操作をカスケードします。

 
 
<cascade-persist>0または1回persist操作をカスケードします。

 
 
<cascade-merge>0または1回merge操作をカスケードします。

 
 
<cascade-remove>0または1回remove操作をカスケードします。

 
 <cascade-refresh>0または1回refresh操作をカスケードします。


 

<embedded>0回以上フィールドやプロパティで指定したマッピングを上書きします。




 



<attribute-override>0回以上Entityクラスの@AttributeOverrideもしくは@AttributeOverridesで定義された値に追加されます。


 

 <column>1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。


 <transient>0回以上フィールドやプロパティで指定したマッピングを上書きします。
<embeddable>0回以上永続化ユニットの埋め込み可能クラスを定義します。
 
<description>0または1回永続化ユニットの埋め込み可能クラスの説明を付加します。
 <attributes>0または1回要素自体の定義はありません。
  
<basic>0回以上フィールドやプロパティで指定したマッピングを上書きします。
  



<column>0または1回Persistentフィールドのプロパティに,カラムのマッピングを指定します。
  



<lob>0または1回※2Lob型へマッピングをするときに指定します。
  



<temporal>0または1回※2DATE,TIME,TIMESTAMP型へマッピングをするときに指定します。
  

<enumerated>0または1回※2列挙型へマッピングを行うときに指定します。
  <transient>0回以上フィールドやプロパティで指定したマッピングを上書きします。
注※1
<id>タグおよび<embedded-id>タグのどちらか一つを指定します。
注※2
<lob>タグ,<temporal>タグ,および<enumerated>タグのどれか一つを指定します。
注※3
<join-column>タグ,および<join-table>タグのどちらか一つを指定します。
注※4
<join-table>タグ,および<join-column>タグのどちらか一つを指定します。
注※5
<primary-key-join-column>タグ,<join-column>タグ,および<join-table>タグのどれか一つを指定します。

<この節の構成>
6.3.1 entity-mappings以下の要素
6.3.2 persistence-unit-metadata以下の要素
6.3.3 table-generator以下の要素
6.3.4 named-query以下の要素
6.3.5 named-native-query以下の要素
6.3.6 sql-result-set-mapping以下の要素
6.3.7 mapped-superclass以下の要素
6.3.8 entity以下の要素
6.3.9 embeddable以下の要素
6.3.10 その他の要素