12.3.7 mapped-superclass以下の要素
次に示す要素と属性は,要素や属性の対象であるマップドスーパークラスだけに適用されます。
- 〈この項の構成〉
(1) <mapped-superclass>
mapped-superclass要素は,永続化ユニットのマップドスーパークラスを定義します。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
class |
xsd:string |
必須 |
マップドスーパークラスのクラス名 |
access |
orm:access-type |
任意 |
access属性は,マップドスーパークラスのアクセスタイプを定義します。access属性は,マップドスーパークラスに与えたpersistence-unit-defaults要素(デフォルトとして指定した要素)やentity-mappings要素(永続化ユニット全体に有効な要素)で指定したアクセスタイプを上書きします。※1 |
metadata-complete※2 |
xsd:boolean |
任意 |
metadata-complete属性がmapped-superclass要素自身に指定されたら,マップドスーパークラスや,マップドスーパークラスのフィールドやプロパティに指定されたアノテーションは無視されます。 metadata-completeがmapped-superclass要素に指定され,XML要素が省略されると,デフォルト値が有効になります。 |
(2) <id-class>
id-class要素は,マップドスーパークラスで指定した@IdClassを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
class |
xsd:string |
必須 |
「8.22.22 @IdClass」のvalue属性を参照してください。 |
(3) <exclude-default-listeners>
exclude-default-listeners要素は,@ExcludeDefaultListenersがマップドスーパークラスに指定されたかどうかに関係なく適用されます。
exclude-default-listeners要素は,マップドスーパークラスとそのサブクラスのデフォルトエンティティリスナを抑止します。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
(4) <exclude-superclass-listeners>
exclude-superclass-listeners要素は,@ExcludeSuperclassListenersがマップドスーパークラスに指定されたかどうかに関係なく適用されます。
exclude-superclass-listeners要素は,マップドスーパークラスとそのサブクラスのスーパークラスリスナを抑止します。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
(5) <entity-listeners>
entity-listeners要素は,マップドスーパークラスの@EntityListenersを上書きします。
ほかの方法で抑止されない場合,これらのリスナはマップドスーパークラスとそのサブクラスで適用します。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
(6) <pre-persist>,<post-persist>,<pre-remove>,<post-remove>,<pre-update>,<post-update>,<post-load>
これらの要素は,マップドスーパークラスで,対応するアノテーションによるライフサイクルコールバックメソッドの定義を上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
method-name |
xsd:string |
必須 |
対象のメソッド名。 |
(7) <id>
id要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
プライマリキープロパティ,もしくはフィールドであることを指定します。 |
(8) <embedded-id>
embedded-id要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
複合プライマリキーであることを指定します。 |
(9) <basic>
basic要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
型をマッピングするメソッドおよびフィールドを指定します。 |
fetch |
orm:fetch-type |
任意 |
Fetch戦略の値を指定します。 詳細は「8.22.5 @Basic」のfetch属性を参照してください。 |
optional |
xsd:boolean |
任意 |
フィールド(プロパティ)がnullを使用するかどうかを指定します。 詳細は「8.22.5 @Basic」のoptional属性を参照してください。 |
(10) <version>
version要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
versionプロパティもしくはフィールドであることを指定します。 |
(11) <many-to-one>
many-to-one要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
多対一リレーションシップのメソッドもしくはフィールドであることを指定します。 |
target-entity |
xsd:string |
任意 |
関連するEntityクラスを指定します。 詳細は「8.22.29 @ManyToOne」のtargetEntity属性を参照してください。 |
fetch |
orm:fetch-type |
任意 |
Fetch戦略の値を指定します。 詳細は「8.22.29 @ManyToOne」のfetch属性を参照してください。 |
optional |
xsd:boolean |
任意 |
すべての非プリミティブなフィールドおよびプロパティの値にnullを指定するかどうかを定義します。 詳細は「8.22.29 @ManyToOne」のoptional属性を参照してください。 |
(12) <one-to-many>
one-to-many要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
一対多リレーションシップのメソッドまたはフィールド。 |
target-entity |
xsd:string |
任意 |
関連するEntityクラスを指定します。詳細は「8.22.36 @OneToMany」のtargetEntity属性を参照してください。 |
fetch |
orm:fetch-type |
任意 |
Fetch戦略の値を指定します。 詳細は「8.22.36 @OneToMany」のfetch属性を参照してください。 |
mapped-by |
xsd:string |
任意 |
被所有者側のEntityクラスの要素に付与し,所有者側のEntityクラスで関係を保持しているフィールド(プロパティ)名を指定します。 詳細は「8.22.36 @OneToMany」のmappedBy属性を参照してください。 |
(13) <one-to-one>
one-to-one要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
一対一リレーションシップのメソッドまたはフィールド。 |
target-entity |
xsd:string |
任意 |
「8.22.37 @OneToOne」のtargetEntity属性を参照してください。 |
fetch |
orm:fetch-type |
任意 |
「8.22.37 @OneToOne」のfetch属性を参照してください。 |
optional |
xsd:boolean |
任意 |
「8.22.37 @OneToOne」のoptional属性を参照してください。 |
mapped-by |
xsd:string |
任意 |
「8.22.37 @OneToOne」のmappedBy属性を参照してください。 |
(14) <many-to-many>
many-to-many要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
多対多リレーションシップのメソッドまたはフィールド。 |
target-entity |
xsd:string |
任意 |
「8.22.28 @ManyToMany」のtargetEntity属性を参照してください。 |
fetch |
orm:fetch-type |
任意 |
「8.22.28 @ManyToMany」のfetch属性を参照してください。 |
mapped-by |
xsd:string |
任意 |
「8.22.28 @ManyToMany」のmappedBy属性を参照してください。 |
(15) <embedded>
embedded要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
埋め込みオブジェクトであるプロパティまたはフィールド。 |
(16) <transient>
transient要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
永続的でないプロパティまたはフィールド。 |