Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 互換編


12.3.8 entity以下の要素

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

〈この項の構成〉

(1) <entity>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒25 <entity>の属性

属性名

任意/必須

説明

name

xsd:string

任意

name属性は,エンティティの名前を定義します。name属性は,@Entityのname要素によって定義されたエンティティ名を,明確に指定されたかデフォルトかに関係なく上書きします。

Entityクラスの名前を上書きした場合の動作は保証しません。

class

xsd:string

必須

エンティティのクラス名。

access

orm:access-type

任意

access属性は,Entityクラスのアクセスタイプを定義します。access属性は,Entityクラスに与えたpersistence-unit-defaults要素(デフォルトとして指定した要素)やentity-mappings要素(永続化ユニット全体に有効な要素)で指定したアクセスタイプを上書きします。※1

metadata-complete※2

xsd:boolean

任意

metadata-complete属性がentity要素自身に指定されたら,Entityクラスや,Entityクラスのフィールドやプロパティに指定されたアノテーションは無視されます。

metadata-completeがentity要素に指定され,XML要素が省略されると,デフォルト値が有効になります。

注※1 指定値には,PROPERTYまたはFIELDを指定します。エンティティクラスのフィールドに対するアクセス方法の指定については,「8.12.3 エンティティクラスのフィールドに対するアクセス方法の指定」を参照してください。

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

(2) <table>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒26 <table>の属性

属性名

任意/必須

説明

name

xsd:string

任意

8.22.54 @Table」のname属性を参照してください。

catalog

xsd:string

任意

8.22.54 @Table」のcatalog属性を参照してください。

schema

xsd:string

任意

8.22.54 @Table」のschema属性を参照してください。

(3) <secondary-table>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒27 <secondary-table>の属性

属性名

任意/必須

説明

name

xsd:string

必須

8.22.49 @SecondaryTable」のname属性を参照してください。

catalog

xsd:string

任意

8.22.49 @SecondaryTable」のcatalog属性を参照してください。

schema

xsd:string

任意

8.22.49 @SecondaryTable」のschema属性を参照してください。

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

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

属性名

任意/必須

説明

name

xsd:string

任意

8.22.46 @PrimaryKeyJoinColumn」のname属性を参照してください。

referenced-column-name

xsd:string

任意

8.22.46 @PrimaryKeyJoinColumn」のreferencedColumnName属性を参照してください。

column-definition

xsd:string

任意

8.22.46 @PrimaryKeyJoinColumn」のcolumnDefinition属性を参照してください。

(5) <id-class>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒29 <id-class>の属性

属性名

任意/必須

説明

value

xsd:string

必須

8.22.22 @IdClass」のvalue属性を参照してください。

(6) <inheritance>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒30 <inheritance>の属性

属性名

任意/必須

説明

strategy

orm:inheritance-type

任意

8.22.23 @Inheritance」のstrategy属性を参照してください。

(7) <discriminator-value>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

(8) <discriminator-column>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒31 <discriminator-column>の属性

属性名

任意/必須

説明

name

xsd:string

任意

8.22.8 @DiscriminatorColumn」のname属性を参照してください。

discriminator-type

orm:discriminator-type

任意

8.22.8 @DiscriminatorColumn」のdiscriminatorType属性を参照してください。

column-definition

xsd:string

任意

8.22.8 @DiscriminatorColumn」のcolumnDefinition属性を参照してください。

length

xsd:int

任意

8.22.8 @DiscriminatorColumn」のlength属性を参照してください。

(9) <sequence-generator>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒32 <sequence-generator>の属性

属性名

任意/必須

説明

name

xsd:string

必須

8.22.51 @SequenceGenerator」のname属性を参照してください。

sequence-name

xsd:string

任意

8.22.51 @SequenceGenerator」のsequenceName属性を参照してください。

initial-value

xsd:int

任意

8.22.51 @SequenceGenerator」のinitialValue属性を参照してください。

allocation-size

xsd:int

任意

8.22.51 @SequenceGenerator」のallocationSize属性を参照してください。

(10) <table-generator>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒33 <table-generator>の属性

属性名

任意/必須

説明

name

xsd:string

必須

8.22.55 @TableGenerator」のname属性を参照してください。

table

xsd:string

任意

8.22.55 @TableGenerator」のtable属性を参照してください。

catalog

xsd:string

任意

8.22.55 @TableGenerator」のcatalog属性を参照してください。

schema

xsd:string

任意

8.22.55 @TableGenerator」のschema属性を参照してください。

pk-column-name

xsd:string

任意

8.22.55 @TableGenerator」のpkColumnName属性を参照してください。

value-column-name

xsd:string

任意

8.22.55 @TableGenerator」のvalueColumnName属性を参照してください。

pk-column-value

xsd:string

任意

8.22.55 @TableGenerator」のpkColumnValue属性を参照してください。

initial-value

xsd:int

任意

8.22.55 @TableGenerator」のinitialValue属性を参照してください。

allocation-size

xsd:int

任意

8.22.55 @TableGenerator」のallocationSize属性を参照してください。

(11) <named-query>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒34 <named-query>の属性

属性名

任意/必須

説明

name

xsd:string

必須

8.22.35 @NamedQuery」のname属性を参照してください。

(12) <named-native-query>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒35 <named-native-query>の属性

属性名

任意/必須

説明

name

xsd:string

必須

8.22.33 @NamedNativeQuery」のname属性を参照してください。

result-class

xsd:string

任意

8.22.33 @NamedNativeQuery」のresultClass属性を参照してください。

result-set-mapping

xsd:string

任意

8.22.33 @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結果のマッピングは,永続化ユニットに適用されます。

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

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

属性名

任意/必須

説明

name

xsd:string

必須

8.22.52 @SqlResultSetMapping」のname属性を参照してください。

(14) <exclude-default-listeners>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

(15) <exclude-superclass-listeners>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

(16) <entity-listeners>

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

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

属性名

任意/必須

説明

method-name

xsd:string

必須

対象のメソッド名。

(18) <attribute-override>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒38 <attribute-override>の属性

属性名

任意/必須

説明

name

xsd:string

必須

8.22.3 @AttributeOverride」のname属性を参照してください。

(19) <association-override>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒39 <association-override>の属性

属性名

任意/必須

説明

name

xsd:string

必須

8.22.1 @AssociationOverride」のname属性を参照してください。

(20) <id>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒40 <id>の属性

属性名

任意/必須

説明

name

xsd:string

必須

プライマリキープロパティまたはフィールド。

(21) <embedded-id>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒41 <embedded-id>の属性

属性名

任意/必須

説明

name

xsd:string

必須

複合プライマリキー。

(22) <basic>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒42 <basic>の属性

属性名

任意/必須

説明

name

xsd:string

必須

型をマッピングするメソッドまたはフィールド。

fetch

orm:fetch-type

任意

8.22.5 @Basic」のfetch属性を参照してください。

optional

xsd:boolean

任意

8.22.5 @Basic」のoptional属性を参照してください。

(23) <version>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒43 <version>の属性

属性名

任意/必須

説明

name

xsd:string

必須

versionプロパティまたはフィールド。

(24) <many-to-one>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒44 <many-to-one>の属性

属性名

任意/必須

説明

name

xsd:string

必須

多対一リレーションシップのメソッドまたはフィールド。

target-entity

xsd:string

任意

8.22.29 @ManyToOne」のtargetEntity属性を参照してください。

fetch

orm:fetch-type

任意

8.22.29 @ManyToOne」のfetch属性を参照してください。

optional

xsd:boolean

任意

8.22.29 @ManyToOne」のoptional属性を参照してください。

(25) <one-to-many>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒45 <one-to-many>の属性

属性名

任意/必須

説明

name

xsd:string

必須

一対多リレーションシップのメソッドまたはフィールド。

target-entity

xsd:string

任意

8.22.36 @OneToMany」のtargetEntity属性を参照してください。

fetch

orm:fetch-type

任意

8.22.36 @OneToMany」のfetch属性を参照してください。

mapped-by

xsd:string

任意

8.22.36 @OneToMany」のmappedBy属性を参照してください。

(26) <one-to-one>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒46 <one-to-one>の属性

属性名

任意/必須

説明

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属性を参照してください。

(27) <many-to-many>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒47 <many-to-many>の属性

属性名

任意/必須

説明

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属性を参照してください。

(28) <embedded>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒48 <embedded>の属性

属性名

任意/必須

説明

name

xsd:string

必須

埋め込みオブジェクトであるプロパティまたはフィールド。

(29) <transient>

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

機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。

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

表12‒49 <transient>の属性

属性名

任意/必須

説明

name

xsd:string

必須

永続的でないプロパティまたはフィールド。