エンティティー・メタデータ記述子ファイルは、WebSphere® eXtreme
Scale のエンティティー・スキーマを定義するために使用される XML ファイルです。すべてのエンティティー・メタデータを XML ファイルで定義するか、エンティティー・メタデータをエンティティー Java クラス・ファイルでアノテーションとして定義します。主に Java アノテーションを使用できないエンティティーに使用されます。
XML ファイルに基づくエンティティー・メタデータを作成するには、XML 構成を使用します。XML 構成で定義されている属性の一部をアノテーションとともに使用すると、対応するアノテーションがオーバーライドされます。あるエレメントをオーバーライドできる場合は、そのオーバーライドが明示的に以降のセクションに出現します。エンティティー・メタデータ記述子 XML ファイルの例については、emd.xsd ファイルを参照してください。
id エレメント
id エレメントは、属性がキーであることを暗黙に示しています。最低限、少なくとも 1 つの id エレメントを指定する必要があります。複数の id キーを指定して、1 つの複合キーとして使用することができます。
属性- name
- 属性の名前を指定します。この属性は Java ファイルに存在している必要があります。
- alias
- エレメントの別名を指定します。alias 値は、アノテーション付きエンティティーとともに使用されるとオーバーライドされます。
basic エレメント
basic エレメントは、属性が以下のようなプリミティブ型またはプリミティブ型のラッパーであることを暗黙に示しています。
- java.lang.String
- java.math.BigInteger
- java.math.BigDecimal
- java.util.Date
- java.util.Calendar
- java.sql.Date
- java.sql.Time
- java.sql.Timestamp
- byte[]
- Byte[]
- char[]
- Character[]
- Java Platform,
Standard Edition バージョン 5 の列挙型
属性を basic として指定する必要はありません。basic エレメント属性は、リフレクションを使用して自動的に構成されます。
属性- name
- クラス内の属性の名前を指定します。
- alias
- エレメントの別名を指定します。alias 値は、アノテーション付きエンティティーとともに使用されるとオーバーライドされます。
- fetch
- フェッチ・タイプを指定します。有効な値: LAZY または EAGER
id-class エレメント
id_class エレメントは、複合キーを使用してエンティティーを見つけるときに役立つ複合キー・クラスを指定します。
属性- class-name
- id-class エレメントで使用するクラス名 (すなわち id-class) を指定します。
transient エレメント
transient エレメントは、このエレメントが無視され、処理されないことを暗黙に示しています。アノテーション付きエンティティーと一緒に使用された場合は、オーバーライドすることもできます。
cascade-type エレメント
子エレメント- cascade-all: すべての操作をアソシエーションにカスケードします。
- cascade-persist: パーシスト操作をアソシエーションにカスケードします。
- cascade-remove: 除去操作をアソシエーションにカスケードします。
- cascade-merge: 現在使用されていません。
- cascade-refresh: 現在使用されていません。
one-to-one エレメント
属性
- name
- 1 対 1 のリレーションシップを持つ、クラスの名前を指定します。
- alias
- 名前の別名を指定します。
- target-entity
- アソシエーション・クラスを指定します。この値は、完全修飾のクラス名です。
- fetch
- フェッチ・タイプを指定します。有効な値: LAZY または EAGER
- mapped-by
- リレーションシップを所有するフィールドを指定します。mapped-by エレメントは、アソシエーションの反対側 (所有していない側) でのみ指定されます。
- id
- アソシエーションをキーとして識別します。
one-to-many エレメント
属性
- name
- クラス内の属性の名前を指定します。
- alias
- 名前の別名を指定します。
- target-entity
- アソシエーション・クラスを指定します。この値は、完全修飾のクラス名です。
- fetch
- フェッチ・タイプを指定します。有効な値: LAZY または EAGER
- mapped-by
- リレーションシップを所有するフィールドを指定します。mapped-by エレメントは、アソシエーションの反対側 (所有していない側) でのみ指定されます。
many-to-one エレメント
属性
- name
- クラス内の属性の名前を指定します。
- alias
- 名前の別名を指定します。
- target-entity
- この属性の参照先のクラスを指定します。この値は、完全修飾のクラス名です。
- fetch
- フェッチ・タイプを指定します。有効な値: LAZY または EAGER
- id
- アソシエーションをキーとして識別します。
many-to-many エレメント
属性
- name
- クラス内の属性の名前を指定します。
- alias
- 名前の別名を指定します。
- target-entity
- この属性の参照先のクラスを指定します。この値は、完全修飾のクラス名です。
- fetch
- フェッチ・タイプを指定します。有効な値: LAZY または EAGER
- mapped-by
- リレーションシップを所有するフィールドを指定します。mapped-by エレメントは、アソシエーションの反対側 (所有していない側) でのみ指定されます。
エンティティー・エレメント
属性- name (必須)
- クラス内の属性の名前を指定します。
- class-name
- 完全修飾のクラス名を指定します。
- access
- アクセス・タイプを指定します。
有効な値は、PROPERTY または FIELD です。
- schemaRoot
- このエンティティーがスキーマ・ルートであり、区画に分割されたデータの親クラスとして使用されることを指定します。
entity-listener エレメント
属性- class-name (必須)
- リスナー・クラスの名前を指定します。
PrePersist エレメント
属性- method-name (必須)
- PrePersist イベントのライフサイクル・コールバック・メソッドを指定します。
PostPersist エレメント
属性- method-name (必須)
- PostPersist イベントのライフサイクル・コールバック・メソッドを指定します。
PreRemove エレメント
属性- method-name (必須)
- PreRemove イベントのライフサイクル・コールバック・メソッドを指定します。
PreUpdate エレメント
属性- method-name (必須)
- PreUpdate イベントのライフサイクル・コールバック・メソッドを指定します。
PostUpdate エレメント
属性- method-name (必須)
- PostUpdate イベントのライフサイクル・コールバック・メソッドを指定します。
PostLoad エレメント
属性- method-name (必須)
- PostLoad イベントのライフサイクル・コールバック・メソッドを指定します。