関係に適用されるビジネス・ルールは、アソシエーションを使用して実装されます。アソシエーション・アクセッサを使用すると、あるエンティティ・オブジェクト定義のインスタンスに、関連エンティティ・オブジェクト定義のインスタンスからアクセスできます。
最も単純な種類のアクセッサは、1対1アソシエーションの一方、または1対多アソシエーションの多数の側で発生します。このアクセッサは、他方の関連付けられたエンティティ・インスタンス全体を戻します。このインスタンスは通常、エンティティ・オブジェクト・クラス内のビジネス・ロジックを使用して操作できます。
多対多アソシエーションの一方、または1対多アソシエーションの1の側のアクセッサを取得する場合は、関連付けられたエンティティ・インスタンスが複数存在する可能性があるため、これより複雑な状況が発生します。この場合、現在の行に対するポインタ(RowIterator)を使用して、オブジェクトのコレクションが戻されます。
一意のエンティティとエンティティのコレクションのどちらが戻されるかに応じて、次の手順でアソシエーション・アクセッサを横断します。
アソシエーションを横断して一意エンティティを取得するには、次のようにします。
create()
、validateEntity()
など)に移動します。
//getManagerIdEmployees() is the accessor EmployeesImpl manager = getManagerIdEmployees();
アソシエーションを横断してエンティティのコレクションを取得するには、次のようにします。
create()
、validateEntity()
など)に移動します。
//getEmployees() is the accessor RowIterator emps = getEmployees();
next
ポインタを使用して、戻されたエンティティ間を反復します。//current holds each entity EmployeesImpl current; //iterate through the entities while (emps.hasNext()) { current = (EmployeesImpl) emps.next(); //add business logic here }
ビジネス・ロジックの実装
Oracle ADFアソシエーションについて
Oracle ADFエンティティ・オブジェクトについて
Copyright © 1997, 2006, Oracle. All rights reserved.