拡張アソシエーションの置換

拡張アソシエーションを置換した場合、アソシエーションのXMLファイルに追加したコードや、新規の関連元オブジェクトおよび関連先オブジェクトなど、元のアソシエーションに行った変更すべてを、アプリケーションのその他の部分のインスタンスすべてに対して使用可能にできます。拡張アソシエーションを置換する場合は、必ず、これによって関連付けられている拡張エンティティ・オブジェクトも置換する必要があります。これは、拡張エンティティ・オブジェクトが、通常は、元のエンティティ・オブジェクトにはない新規の属性を持つためです。また、アソシエーションにより、関連元および関連先のロール属性の定義でこれらの新規の属性が使用される可能性があるためです。

拡張アソシエーションの置換

図で示したように、Empエンティティ・オブジェクトを拡張した際にLoc(位置)属性を追加したとします。それにより、NewEmpExNewDeptExの間に拡張アソシエーションを作成する際に、関連元および関連先のロール属性のリストにLocを追加できます。その後、アプリケーション全体で拡張アソシエーションを置換する場合は、NewEmpExEmpLoc属性を持たないため)およびNewDeptExDeptLocをソース・ロール属性として認識しないため)も置換する必要があります。

たとえば、ビジネス・コンポーネント・プロジェクト・ウィザードの置換ページを使用し、アプリケーション全体で、アソシエーションEmpForeignKeyAssocを拡張アソシエーションNewFKAsocExで置換した場合、フレームワークでは、プロジェクトのXMLファイルのSubstitutesセクションに1行が追加されます。このプロジェクトのXMLファイルの一部を次に示します。

   ... 
<Substitutes>
<Substitute OldName ="package27.Emp" NewName ="Extender.NewEmpEx" />
<Substitute OldName ="package27.EmpForeignKeyAssoc" NewName ="Extender.NewFKAssocEx" />
<Substitute OldName ="package27.Dept" NewName ="Extender.NewDeptEx" />
</Substitutes>
...

ここでは、プロジェクト・ファイル内の元のエンティティ・オブジェクトEmpおよびDeptを、拡張エンティティ・オブジェクトNewEmpExおよびNewDeptExですでに置換しているものとします。

ビジネス・コンポーネントを置換するには、次のようにします。

  1. ナビゲータで、プロジェクトを右クリックし、「プロジェクト・プロパティ」を選択します。
  2. 「ビジネス・コンポーネント」ノードを開き、「置換」をクリックします。
  3. 置換ページでは、「使用可能」ペインで元のコンポーネントのパッケージからコンポーネントを選択し、「置換する対象」ペインで拡張コンポーネントを含むパッケージから新規のコンポーネントを選択し、「追加」ボタンをクリックします。
  4. 「終了」をクリックして、設計時の変更を保存します。
  5. これらの変更を実行時に適用する方法は、「実行時の置換ビジネス・コンポーネントの適用」を参照してください。


拡張ビジネス・コンポーネントの置換