12.3.8 entity以下の要素
次に示す要素と属性は,下位要素や属性の対象であるEntityクラスにだけ適用されます。
- 〈この項の構成〉
(1) <entity>
entity要素は,永続化ユニットのエンティティを定義します。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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要素が省略されると,デフォルト値が有効になります。 |
(2) <table>
table要素は,Entityクラスの@Table(デフォルト値も含む)を上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
value |
xsd:string |
必須 |
「8.22.22 @IdClass」のvalue属性を参照してください。 |
(6) <inheritance>
inheritance要素は,Entityクラスの@Inheritance(デフォルト値も含む)を上書きします。
inheritance要素は,Entityクラスと,そのサブクラスで適用します(アノテーションやXML要素で指定したサブクラスが,別の方法で上書きされなかった場合)。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
method-name |
xsd:string |
必須 |
対象のメソッド名。 |
(18) <attribute-override>
attribute-override要素は,Entityクラスの@AttributeOverrideまたは@AttributeOverridesで定義された値に加えられます。attribute-override要素は,同一の属性名のAttributeOverride要素を上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
「8.22.3 @AttributeOverride」のname属性を参照してください。 |
(19) <association-override>
association-override要素は,Entityクラスの@AssociationOverrideまたは@AssociationOverridesで定義された値に加えられます。association-override要素は,同一の属性名のAssociationOverride要素を上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
「8.22.1 @AssociationOverride」のname属性を参照してください。 |
(20) <id>
id要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
プライマリキープロパティまたはフィールド。 |
(21) <embedded-id>
embedded-id要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
複合プライマリキー。 |
(22) <basic>
basic要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
versionプロパティまたはフィールド。 |
(24) <many-to-one>
many-to-one要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
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パッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
埋め込みオブジェクトであるプロパティまたはフィールド。 |
(29) <transient>
transient要素は,フィールドやプロパティで指定したマッピングを上書きします。
機能および属性の詳細については,「8.22 javax.persistenceパッケージに含まれるアノテーションのサポート範囲」を参照してください。
指定できる属性を次の表に示します。
属性名 |
型 |
任意/必須 |
説明 |
---|---|---|---|
name |
xsd:string |
必須 |
永続的でないプロパティまたはフィールド。 |