WebSphere Application Server - Express, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

DataGraph スキーマ

EJB メディエーターによって作成された DataGraph スキーマ

照会のメディエーターによって作成されたスキーマは、各照会ステートメントについて 1 つの Eclass で構成されます。 Eclass の名前は、EJB の Abstract Schema Name (ASN) です。 Eclass の Eattributes は、照会ステートメントによって戻されるコンテナー管理パーシスタンス (CMP) フィールドまたは式に対応します。

静的 DataObjects の場合、createMediator 呼び出しで Map 引数が使用されるのであれば、Eclass 名が異なっていてもかまいません。

FROM 文節または XREL 文節で指定された 各 EJB 関係は、スキーマに対する Ereference を追加します。 EJB 関係は、単一方向であっても双方向であってもかまいません。 ただし、すべての Ereferences は双方向として定義されます。これは、更新の際に効率的に DataGraph を移動する必要があるからです。 逆関係名は単一方向の EJB 関係の場合に生成されます。 生成される名前のフォーマットは、<ASName_source><ASName_target> となります。 例えば、ASNames が EmpBean および DeptBean であり、単一方向関係が EmpBean から DeptBean へ向かう dept である場合、生成される逆方向名は DeptBeanEmpBean です。

createMediator 上で ECLass 引数が使用されない場合、メ ディエーターが以下の特性を使用して DataGraph スキーマを作成します。
  • DataObject Eclass 名は、対応する Enterprise JavaBeans (EJB) Abstract Schema Names (ASN) です。
  • DataObject 属性名およびタイプは、照会 SELECT 文節内の式の名前とタイプです。
  • DataObject 参照名とタイプは、FROM 文節内で参照された EJB 関係から来ます。

DataGraphRoot の Eclass 名を持つ「ダミー」 DataObject も作成され、すべての DataObjects への包含参照を持っています。 参照は多値で、EJB ASN 名を使用します。

DataObject root =  m.getGraph( parms );
root.getType().getName();   // this would return the string "DataGraphRoot"

List depts = (List) root.get("DeptBean");
// the list of all DeptBean SDOs in the DataGraph

List emps = (List) root.get("EmpBean");  
// the list of all EmpBean SDOs in the DataGraph

DataGraph 包含パターン

サービス・データ・オブジェクト (SDO) 間の参照は、包含参照として定義できます。この場合、1 つの SDO が 削除されると、削除はすべての包含 SDO にカスケードされます。 また、DataGraph が XML 文書としてシリアライズされると、包含 SDO も親 SDO 内にネストされます。 非包含参照は、XML 文書内でパス式として表されます。

包含は DataGraph スキーマ内で定義されなければなりません。 メディエーターがスキーマを定義すると、(DataGraphRoot という名前の) ルート SDO が他のすべての SDO を含みます。 EJB 関係は非包含 SDO 参照として定義 されます。

呼び出し元が DataGraph スキーマを定義する場合、3 つのパターンがあります。
ROOT_CONTAINS_ALL
このパターンでは、ルートであるダミー SDO があります。どの EJB にも対応していないという意味でダミーです。 目的は、その他すべての SDO を含めることです。メディエーターがグラフ・スキーマを生成する場合、ダミー・ルートのクラス名は DataGraphRoot になり、EJB ASN 名を名前に持つ参照を含みます。 呼び出し元が静的スキーマを使用する場合、ルートは任意の名前を持つことができます。 ルートの Eclass は createMediator 呼び出しの際に渡されます。
ROOT_CONTAINS_SOME
このパターンは静的スキーマにのみ該当します。グラフ・ルートであるダミー SDO も依然として存在します。 他の SDO は、照会ステートメントで使用される EJB 関係に対応する Ereference で組み込まれるか、 ダミー・ルートで組み込まれる必要があります。
NO_DUMMY ROOT
このパターンは静的スキーマにのみ該当します。ダミー・ルートはありません。 ルート SDO は、単一インスタンスのみを戻す必要がある最初の照会ステートメントに対応します。 非ルート SDO は、照会ステートメントに使用される EJB 関係に対応する Ereference で組み込まれる必要があります。



関連タスク
データ・アクセスへの Enterprise JavaBeans データ・メディエーター・サービスの使用
関連資料
EJB データ・メディエーター・サービスのプログラミング考慮事項
EJB データ・メディエーター・サービスのデータ検索
EJB データ・メディエーター・サービスのデータ更新
EJB メディエーター照会構文
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 11:31:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rejb_ejbmeddgs.html