Create 操作

階層ビジネス・オブジェクトの場合は、Create 操作によってビジネス・オブジェクトが再帰的に全探索され、各テーブルに対応する行が作成されます。

以下で、詳しく説明します。
  1. Create 操作は、所有関係を伴う単一カーディナリティーの各子ビジネス・オブジェクトを、データベース内に再帰的に挿入します。つまり、アダプターは、子ビジネス・オブジェクトおよびその子孫にあたるビジネス・オブジェクトのすべてを作成します。

    ビジネス・オブジェクト定義上、ある属性がある単一カーディナリティーの子ビジネス・オブジェクトを表すものとされている場合に、その属性が空であると、アダプターはその属性を無視します。ただし、ビジネス・オブジェクト定義により、その属性が子を表すことが必要であるにもかかわらず、子を表していない場合には、アダプターはエラーを戻して処理を停止します。

  2. Create 操作は、所有関係を伴わない単一カーディナリティーの各子ビジネス・オブジェクトの有無を検索し、確認します。子がデータベース内に存在しないことを示して、Retrieve 操作が失敗した場合、アダプターはエラーを戻して処理を停止します。Retrieve 操作が成功した場合、アダプターは子ビジネス・オブジェクトを再帰的に更新します。
    注: アプリケーションのデータベースに子ビジネス・オブジェクトが存在する場合に、このアプローチが正しく機能するには、子ビジネス・オブジェクト内の基本キー属性の相互参照が、Create 操作時に正しく行われる必要があります。アプリケーション・データベースに子ビジネス・オブジェクトが存在しない場合、基本キー属性は設定してはいけません。
  3. 最上位ビジネス・オブジェクトを、データベース内に次のように挿入します。
    1. 最上位ビジネス・オブジェクトの外部キー値を、対応する単一カーディナリティーの関係にある子ビジネス・オブジェクトの基本キー値に設定します。子ビジネス・オブジェクトの値は、データベース・シーケンスまたはカウンター、あるいはデータベース自体によって、子の作成時に設定される場合があります。そのため、このステップでは、アダプターが親をデータベースに挿入する前に、親の外部キー値を正しいものにします。
    2. データベースによって自動的に設定される属性のそれぞれに対して、新しい固有 ID 値を生成します。データベース・シーケンスまたはカウンターの名前は、属性のアプリケーション固有情報に格納されます。属性にデータベース・シーケンスまたはカウンターが関連付けられている場合、アダプターによって生成された値により、アプリケーション・サーバーから渡された値が上書きされます。データベース・シーケンスまたはカウンターの指定の詳細については、『単純属性のアプリケーション固有情報』の UID=AUTO を参照してください。
    3. 最上位ビジネス・オブジェクトをデータベース内に挿入します。
  4. 複数カーディナリティーの子ビジネス・オブジェクトのすべてを、次のように処理します。
    1. それぞれの子の外部キー値を、親に含まれる対応する基本キー属性の値を参照するように設定します。親の基本キー値は、親の作成時に生成されている可能性があります。そのため、ここでは、アダプターが子をデータベースに挿入する前に、それぞれの子の外部キー値を正しいものにします。
    2. 複数カーディナリティーの子ビジネス・オブジェクトのすべてを、データベースに挿入します。
関連概念
Retrieve 操作
RetrieveAll 操作
Update 操作
DeltaUpdate 操作
Delete 操作
ApplyChanges 操作
Execute 操作

ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2006
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。