6.3.7 mapped-superclass以下の要素

次に示す要素と属性は,要素や属性の対象であるマップドスーパークラスだけに適用されます。

<この項の構成>
(1) <mapped-superclass>
(2) <id-class>
(3) <exclude-default-listeners>
(4) <exclude-superclass-listeners>
(5) <entity-listeners>
(6) <pre-persist>,<post-persist>,<pre-remove>,<post-remove>,<pre-update>,<post-update>,<post-load>
(7) <id>
(8) <embedded-id>
(9) <basic>
(10) <version>
(11) <many-to-one>
(12) <one-to-many>
(13) <one-to-one>
(14) <many-to-many>
(15) <embedded>
(16) <transient>

(1) <mapped-superclass>

mapped-superclass要素は,永続化ユニットのマップドスーパークラスを定義します。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-12 <mapped-superclass>の属性

属性名任意/必須説明
classxsd:string必須マップドスーパークラスのクラス名
accessorm:access-type任意access属性は,マップドスーパークラスのアクセスタイプを定義します。access属性は,マップドスーパークラスに与えたpersistence-unit-defaults要素(デフォルトとして指定した要素)やentity-mappings要素(永続化ユニット全体に有効な要素)で指定したアクセスタイプを上書きします。※1
metadata-complete※2xsd:boolean任意metadata-complete属性がmapped-superclass要素自身に指定されたら,マップドスーパークラスや,マップドスーパークラスのフィールドやプロパティに指定されたアノテーションは無視されます。
metadata-completeがmapped-superclass要素に指定され,XML要素が省略されると,デフォルト値が有効になります。

注※1 指定値には,PROPERTYまたはFIELDを指定します。エンティティクラスのフィールドに対するアクセス方法の指定については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」を参照してください。

注※2 アノテーションが指定されている場合,この要素を指定することによって,KDJE55532-Wのメッセージが出力されることがあります。


(2) <id-class>

id-class要素は,マップドスーパークラスで指定した@IdClassを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-13 <id-class>の属性

属性名任意/必須説明
classxsd:string必須マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@IdClassのvalue属性に関する記述を参照してください。

(3) <exclude-default-listeners>

exclude-default-listeners要素は,@ExcludeDefaultListenersがマップドスーパークラスに指定されたかどうかに関係なく適用されます。

exclude-default-listeners要素は,マップドスーパークラスとそのサブクラスのデフォルトエンティティリスナを抑止します。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

(4) <exclude-superclass-listeners>

exclude-superclass-listeners要素は,@ExcludeSuperclassListenersがマップドスーパークラスに指定されたかどうかに関係なく適用されます。

exclude-superclass-listeners要素は,マップドスーパークラスとそのサブクラスのスーパークラスリスナを抑止します。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

(5) <entity-listeners>

entity-listeners要素は,マップドスーパークラスの@EntityListenersを上書きします。

ほかの方法で抑止されない場合,これらのリスナはマップドスーパークラスとそのサブクラスで適用します。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

(6) <pre-persist>,<post-persist>,<pre-remove>,<post-remove>,<pre-update>,<post-update>,<post-load>

これらの要素は,マップドスーパークラスで,対応するアノテーションによるライフサイクルコールバックメソッドの定義を上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-14 <pre-persist>,<post-persist>,<pre-remove>,<post-remove>,<pre-update>,<post-update>,<post-load>の属性

属性名任意/必須説明
method-namexsd:string必須対象のメソッド名。

(7) <id>

id要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-15 <id>の属性

属性名任意/必須説明
namexsd:string必須プライマリキープロパティ,もしくはフィールドであることを指定します。

(8) <embedded-id>

embedded-id要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-16 <embedded-id>の属性

属性名任意/必須説明
namexsd:string必須複合プライマリキーであることを指定します。

(9) <basic>

basic要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-17 <basic>の属性

属性名任意/必須説明
namexsd:string必須型をマッピングするメソッドおよびフィールドを指定します。
fetchorm:fetch-type任意Fetch戦略の値を指定します。
詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@Basicのfetch属性に関する記述を参照してください。
optionalxsd:boolean任意フィールド(プロパティ)がnullを使用するかどうかを指定します。
詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@Basicのoptional属性に関する記述を参照してください。

(10) <version>

version要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-18 <version>の属性

属性名任意/必須説明
namexsd:string必須versionプロパティもしくはフィールドであることを指定します。

(11) <many-to-one>

many-to-one要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-19 <many-to-one>の属性

属性名任意/必須説明
namexsd:string必須多対一リレーションシップのメソッドもしくはフィールドであることを指定します。
target-entityxsd:string任意関連するEntityクラスを指定します。
詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@ManyToOneのtargetEntity属性に関する記述を参照してください。
fetchorm:fetch-type任意Fetch戦略の値を指定します。
詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@ManyToOneのfetch属性に関する記述を参照してください。
optionalxsd:boolean任意すべての非プリミティブなフィールドおよびプロパティの値にnullを指定するかどうかを定義します。
詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@ManyToOneのoptional属性に関する記述を参照してください。

(12) <one-to-many>

one-to-many要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-20 <one-to-many>の属性

属性名任意/必須説明
namexsd:string必須一対多リレーションシップのメソッドまたはフィールド。
target-entityxsd:string任意関連するEntityクラスを指定します。詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@OneToManyのtargetEntity属性に関する記述を参照してください。
fetchorm:fetch-type任意Fetch戦略の値を指定します。
詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@OneToManyのfetch属性に関する記述を参照してください。
mapped-byxsd:string任意被所有者側のEntityクラスの要素に付与し,所有者側のEntityクラスで関係を保持しているフィールド(プロパティ)名を指定します。
詳細はマニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@OneToManyのmappedBy属性に関する記述を参照してください。

(13) <one-to-one>

one-to-one要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-21 <one-to-one>の属性

属性名任意/必須説明
namexsd:string必須一対一リレーションシップのメソッドまたはフィールド。
target-entityxsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@OneToOneのtargetEntity属性に関する記述を参照してください。
fetchorm:fetch-type任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@OneToOneのfetch属性に関する記述を参照してください。
optionalxsd:boolean任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@OneToOneのoptional属性に関する記述を参照してください。
mapped-byxsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@OneToOneのmappedBy属性に関する記述を参照してください。

(14) <many-to-many>

many-to-many要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-22 <many-to-many>の属性

属性名任意/必須説明
namexsd:string必須多対多リレーションシップのメソッドまたはフィールド。
target-entityxsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@ManyToManyのtargetEntity属性に関する記述を参照してください。
fetchorm:fetch-type任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@ManyToManyのfetch属性に関する記述を参照してください。
mapped-byxsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@ManyToManyのmappedBy属性に関する記述を参照してください。

(15) <embedded>

embedded要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-23 <embedded>の属性

属性名任意/必須説明
namexsd:string必須埋め込みオブジェクトであるプロパティまたはフィールド。

(16) <transient>

transient要素は,フィールドやプロパティで指定したマッピングを上書きします。

機能および属性の詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」のjavax.persistence パッケージに関する説明を参照してください。

指定できる属性を次の表に示します。

表6-24 <transient>の属性

属性名任意/必須説明
namexsd:string必須永続的でないプロパティまたはフィールド。