6.3.8 entity以下の要素

次に示す要素と属性は,下位要素や属性の対象であるEntityクラスにだけ適用されます。

<この項の構成>
(1) <entity>
(2) <table>
(3) <secondary-table>
(4) <primary-key-join-column>
(5) <id-class>
(6) <inheritance>
(7) <discriminator-value>
(8) <discriminator-column>
(9) <sequence-generator>
(10) <table-generator>
(11) <named-query>
(12) <named-native-query>
(13) <sql-result-set-mapping>
(14) <exclude-default-listeners>
(15) <exclude-superclass-listeners>
(16) <entity-listeners>
(17) <pre-persist>,<post-persist>,<pre-remove>,<post-remove>,<pre-update>,<post-update>,<post-load>
(18) <attribute-override>
(19) <association-override>
(20) <id>
(21) <embedded-id>
(22) <basic>
(23) <version>
(24) <many-to-one>
(25) <one-to-many>
(26) <one-to-one>
(27) <many-to-many>
(28) <embedded>
(29) <transient>

(1) <entity>

entity要素は,永続化ユニットのエンティティを定義します。

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

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

表6-25 <entity>の属性

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

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

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


(2) <table>

table要素は,Entityクラスの@Table(デフォルト値も含む)を上書きします。

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

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

表6-26 <table>の属性

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

(3) <secondary-table>

secondary-table要素は,Entityクラスのすべての@SecondaryTableと@SecondaryTables(デフォルト値も含む)を上書きします。

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

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

表6-27 <secondary-table>の属性

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

(4) <primary-key-join-column>

primary-key-join-column要素は,Entityクラスのすべての@PrimaryKeyJoinColumnと@PrimaryKeyJoinColumns(デフォルト値も含む)を上書きします。

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

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

表6-28 <primary-key-join-column>の属性

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

(5) <id-class>

id-class要素は,Entityクラスに指定された@IdClassを上書きします。

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

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

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

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

(6) <inheritance>

inheritance要素は,Entityクラスの@Inheritance(デフォルト値も含む)を上書きします。

inheritance要素は,Entityクラスと,そのサブクラスで適用します(アノテーションやXML要素で指定したサブクラスが,別の方法で上書きされなかった場合)。

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

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

表6-30 <inheritance>の属性

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

(7) <discriminator-value>

discriminator-value要素は,Entityクラスの@DiscriminatorValue(デフォルト値も含む)を上書きします。

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

(8) <discriminator-column>

discriminator-column要素は,Entityクラスの@DiscriminatorColumn(デフォルト値も含む)を上書きします。

discriminator-column要素は,Entityクラスと,そのサブクラスで適用します(アノテーションやXML要素で指定したサブクラスが,別の方法で上書きされなかった場合)。

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

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

表6-31 <discriminator-column>の属性

属性名任意/必須説明
namexsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@DiscriminatorColumnのname属性に関する記述を参照してください。
discriminator-typeorm:discriminator-type任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@DiscriminatorColumnのdiscriminatorType属性に関する記述を参照してください。
column-definitionxsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@DiscriminatorColumnのcolumnDefinition属性に関する記述を参照してください。
lengthxsd:int任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@DiscriminatorColumnのlength属性に関する記述を参照してください。

(9) <sequence-generator>

sequence-generator要素によって定義されたジェネレータは,アノテーションによって定義されたジェネレータや,O/Rマッピングファイルで定義されたほかのジェネレータに加えられます。アノテーションで同名のジェネレータが定義されたら,sequence-generator要素で定義されたジェネレータで上書きします。

sequence-generator要素によって定義されたジェネレータは,永続化ユニットに適用されます。

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

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

表6-32 <sequence-generator>の属性

属性名任意/必須説明
namexsd:string必須マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@SequenceGeneratorのname属性に関する記述を参照してください。
sequence-namexsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@SequenceGeneratorのsequenceName属性に関する記述を参照してください。
initial-valuexsd:int任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@SequenceGeneratorのinitialValue属性に関する記述を参照してください。
allocation-sizexsd:int任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@SequenceGeneratorのallocationSize属性に関する記述を参照してください。

(10) <table-generator>

table-generator要素によって定義されたジェネレータは,アノテーションによって定義されたジェネレータや,O/Rマッピングファイルで定義されたほかのジェネレータに加えられます。アノテーションで同名のジェネレータが定義されたら,table-generator要素で定義されたジェネレータで上書きします。

table-generator要素によって定義されたジェネレータは,永続化ユニットに適用されます。

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

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

表6-33 <table-generator>の属性

属性名任意/必須説明
namexsd:string必須マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのname属性に関する記述を参照してください。
tablexsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのtable属性に関する記述を参照してください。
catalogxsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのcatalog属性に関する記述を参照してください。
schemaxsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのschema属性に関する記述を参照してください。
pk-column-namexsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのpkColumnName属性に関する記述を参照してください。
value-column-namexsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのvalueColumnName属性に関する記述を参照してください。
pk-column-valuexsd:string任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのpkColumnValue属性に関する記述を参照してください。
initial-valuexsd:int任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのinitialValue属性に関する記述を参照してください。
allocation-sizexsd:int任意マニュアル「Cosminexus アプリケーションサーバ リファレンス API編」の@TableGeneratorのallocationSize属性に関する記述を参照してください。

(11) <named-query>

named-query要素によって定義された名前付きクエリは,アノテーションによって定義された名前付きクエリや,O/Rマッピングファイルで定義されたほかの名前付きクエリに加えられます。アノテーションで同名の名前付きクエリが定義されたら,named-query要素で定義された名前付きクエリで上書きします。

named-query要素によって定義された名前付きクエリは,永続化ユニットに適用されます。

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

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

表6-34 <named-query>の属性

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

(12) <named-native-query>

named-native-query要素によって定義された名前付きネイティブクエリは,アノテーションによって定義された名前付きネイティブクエリや,O/Rマッピングファイルで定義されたほかの名前付きネイティブクエリに加えられます。アノテーションで同名の名前付きネイティブクエリが定義されたら,named-native-query要素で定義された名前付きネイティブクエリで上書きします。

named-native-query要素によって定義された名前付きネイティブクエリは,永続化ユニットに適用されます。

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

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

表6-35 <named-native-query>の属性

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

(13) <sql-result-set-mapping>

sql-result-set-mapping要素によって定義されたSQL結果のマッピングは,アノテーションによって定義されたSQL結果のマッピングや,O/Rマッピングファイルで定義されたほかのSQL結果のマッピングに加えられます。アノテーションで同名のSQL結果のマッピングが定義されたら,sql-result-set-mapping要素で定義されたSQL結果のマッピングで上書きします。

sql-result-set-mapping要素によって定義されたSQL結果のマッピングは,永続化ユニットに適用されます。

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

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

表6-36 <sql-result-set-mapping>の属性

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

(14) <exclude-default-listeners>

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

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

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

(15) <exclude-superclass-listeners>

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

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

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

(16) <entity-listeners>

entity-listeners要素は,Entityクラスの@EntityListenersを上書きします。

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

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

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

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

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

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

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

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

(18) <attribute-override>

attribute-override要素は,Entityクラスの@AttributeOverrideまたは@AttributeOverridesで定義された値に加えられます。attribute-override要素は,同一の属性名のAttributeOverride要素を上書きします。

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

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

表6-38 <attribute-override>の属性

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

(19) <association-override>

association-override要素は,Entityクラスの@AssociationOverrideまたは@AssociationOverridesで定義された値に加えられます。association-override要素は,同一の属性名のAssociationOverride要素を上書きします。

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

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

表6-39 <association-override>の属性

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

(20) <id>

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

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

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

表6-40 <id>の属性

属性名任意/必須説明
namexsd:string必須プライマリキープロパティまたはフィールド。

(21) <embedded-id>

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

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

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

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

属性名任意/必須説明
namexsd:string必須複合プライマリキー。

(22) <basic>

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

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

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

表6-42 <basic>の属性

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

(23) <version>

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

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

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

表6-43 <version>の属性

属性名任意/必須説明
namexsd:string必須versionプロパティまたはフィールド。

(24) <many-to-one>

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

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

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

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

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

(25) <one-to-many>

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

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

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

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

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

(26) <one-to-one>

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

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

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

表6-46 <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属性に関する記述を参照してください。

(27) <many-to-many>

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

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

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

表6-47 <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属性に関する記述を参照してください。

(28) <embedded>

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

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

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

表6-48 <embedded>の属性

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

(29) <transient>

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

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

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

表6-49 <transient>の属性

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