Cosminexus アプリケーションサーバ V8 リファレンス 定義編(サーバ定義)

[目次][索引][前へ][次へ]

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編」の「2.6 javax.persistenceパッケージ」を参照してください。

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

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

属性名 任意/必須 説明
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要素が省略されると,デフォルト値が有効になります。

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

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


(2) <id-class>

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

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

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

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

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

(3) <exclude-default-listeners>

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

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

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

(4) <exclude-superclass-listeners>

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

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

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

(5) <entity-listeners>

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

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

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

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

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

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

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

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

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

(7) <id>

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

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

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

表6-15 <id>の属性

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

(8) <embedded-id>

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

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

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

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

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

(9) <basic>

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

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

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

表6-17 <basic>の属性

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

(10) <version>

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

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

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

表6-18 <version>の属性

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

(11) <many-to-one>

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

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

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

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

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

(12) <one-to-many>

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

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

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

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

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

(13) <one-to-one>

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

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

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

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

属性名 任意/必須 説明
name xsd:string 必須 一対一リレーションシップのメソッドまたはフィールド。
target-entity xsd:string 任意 マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の「2.6.37 @OneToOne」のtargetEntity属性を参照してください。
fetch orm:fetch-type 任意 マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の「2.6.37 @OneToOne」のfetch属性を参照してください。
optional xsd:boolean 任意 マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の「2.6.37 @OneToOne」のoptional属性を参照してください。
mapped-by xsd:string 任意 マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の「2.6.37 @OneToOne」のmappedBy属性を参照してください。

(14) <many-to-many>

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

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

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

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

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

(15) <embedded>

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

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

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

表6-23 <embedded>の属性

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

(16) <transient>

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

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

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

表6-24 <transient>の属性

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