エンティティー・メタデータ記述子 XML ファイル

エンティティー・メタデータ記述子ファイルは、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 エレメントは、属性が以下のようなプリミティブ型またはプリミティブ型のラッパーであることを暗黙に示しています。 属性を basic として指定する必要はありません。basic エレメント属性は、リフレクションを使用して自動的に構成されます。
属性
name
クラス内の属性の名前を指定します。
alias
エレメントの別名を指定します。alias 値は、アノテーション付きエンティティーとともに使用されるとオーバーライドされます。
fetch
フェッチ・タイプを指定します。有効な値: LAZY または EAGER

id-class エレメント

id_class エレメントは、複合キーを使用してエンティティーを見つけるときに役立つ複合キー・クラスを指定します。
属性
class-name
id-class エレメントで使用するクラス名 (すなわち id-class) を指定します。

transient エレメント

transient エレメントは、このエレメントが無視され、処理されないことを暗黙に示しています。アノテーション付きエンティティーと一緒に使用された場合は、オーバーライドすることもできます。
属性
name
無視される属性の名前を指定します。

version エレメント

属性
name
無視される属性の名前を指定します。

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 エレメントは、アソシエーションの反対側 (所有していない側) でのみ指定されます。
子エレメント

attributes エレメント

エンティティー・エレメント

属性
name (必須)
クラス内の属性の名前を指定します。
class-name
完全修飾のクラス名を指定します。
access
アクセス・タイプを指定します。 有効な値は、PROPERTY または FIELD です。
schemaRoot
このエンティティーがスキーマ・ルートであり、区画に分割されたデータの親クラスとして使用されることを指定します。
子エレメント

entity-mappings エレメント

子エレメント

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 イベントのライフサイクル・コールバック・メソッドを指定します。