Oracle ADFビュー・リンクは、2つのOracle ADFビュー・オブジェクト定義(リンク元とリンク先のビュー・オブジェクト)間の関係を、それぞれのビュー属性(リンク元とリンク先の属性)のセットに基づいて定義するビジネス・コンポーネントです。単純な1対多関係から複雑な多対多関係まで、様々な関係を作成できます。これにより、1つのクライアント内のデータ・コントロール間にマスター/ディテール関係を簡単に作成できます。たとえば、ビュー・オブジェクト間にビュー・リンクを作成すると、次のような関係を作成できます。
ビュー・オブジェクトはデータ・モデル・コンポーネントです。そのため、ビュー・オブジェクトの定義時にクライアントのデータ・ニーズを考慮する必要があります。関連付ける必要があるコントロールおよびそれらを管理するビュー・オブジェクトを決定してください。
ビュー・リンクの定義方法は、「問合せ結果間の関係の表現」を参照してください。
一般に、次の区別をすることが重要です。
ビュー・リンク定義は、JDeveloperのツールを使用し、2つのビュー・オブジェクト定義に基づいて作成します。作成したビュー・リンクのインスタンスは、アプリケーション・モジュール定義にあるビュー・オブジェクト・インスタンスの関連付けに使用できます。詳細は、関連項目のトピックを参照してください。
ビュー・リンク定義によって2つのビュー・オブジェクト定義を関連付けます。ほとんどの場合、ビュー・オブジェクト定義には、データベースにアクセスするSQL問合せが含まれます。ビュー・リンク定義は、パラメータ付きのWHERE
句を使用して問合せを関連付けます。WHERE句はリンク先のビュー・オブジェクトの問合せに追加され、リンク元の属性の値を使用して解決されます。
たとえば、次のビュー・オブジェクト定義があるとします。
CustomersView
SELECT * FROM CUSTOMERS
OrdersView
SELECT * FROM ORDERS
次の属性および句を使用してCustOrdLink
というビュー・リンクを作成できます。
CustomersView
のCustomerId
属性
WHERE
句
WHERE :1 = ORDERS.CUSTOMER_ID
作成したCustOrdLink
を、CustomersView
の行(たとえば、Customer 101の行)およびOrdersView
のすべてと組み合せて使用し、問合せに対する行を返すことができます。
SELECT * FROM ORDERS
WHERE 101 = ORDERS.CUSTOMER_ID
JDeveloperによって、選択した属性に基づいたパラメータ付きの問合せが作成されます。この問合せを変更しない場合は、ビュー・リンクを双方向にできます。これによって、リンク先とリンク元の属性の役割を切り替えることができます。たとえば、CustOrdLink
を双方向にすると、OrdersViewの行(たとえば、Customer 101の注文の行)およびCustomersViewのすべてと組み合せて使用し、問合せに対する行を返すことができます。
SELECT * FROM CUSTOMERS
WHERE CUSTOMERS.CUSTOMER_ID = 101
2つのビュー・オブジェクト定義のそれぞれに少なくとも1つのエンティティ・オブジェクトの慣用名が含まれ、使用されるエンティティ・オブジェクト定義間にアソシエーションが存在する場合、そのアソシエーションに基づいてビュー・リンク定義を作成できます。
たとえば、CustomersView
およびOrdersView
について、次がtrueであるとします。
CustomersView
にCustomers
エンティティ・オブジェクトの慣用名が含まれています。
OrdersView
にOrders
エンティティ・オブジェクトの慣用名が含まれています。
Customers
とOrders
の間にCustOrdAssoc
アソシエーションがあります。
この場合は、リンク元とリンク先の属性を自分で作成するのではなく、CustOrdAssoc
に基づいてCustOrdLink
を作成できます。
この機能は、多対多のビュー・リンクを作成する場合に特に便利です。たとえば、次のビジネス・コンポーネントがあるとします。
Items
エンティティ・オブジェクト
Warehouses
エンティティ・オブジェクト
Items
の慣用名を含むItemsView
ビュー・オブジェクト
Warehouses
の慣用名を含むWarehousesView
ビュー・オブジェクト
Items
とWarehouses
間の多対多のItemWarehouseAssoc
アソシエーション
ItemsWarehouseAssocに基づいて、ItemsWarehouseLinkビュー・リンクを作成できます。このビュー・リンクを使用して、特定の品目が格納されたすべての倉庫を取得できます(双方向の場合)。また特定の倉庫に格納されたすべての品目も取得できます。詳細は、関連項目のトピックを参照してください。
ビジネス・コンポーネントについて
Oracle ADFビジネス・ドメイン・コンポーネント、データ・モデル・コンポーネントおよび構成コンポーネントについて
ビュー・オブジェクト・インスタンスとビュー・リンク・インスタンスについて
多対多ビュー・リンク定義の作成
Oracle ADFビュー・オブジェクトについて
ビュー・オブジェクト属性について
Oracle ADFアプリケーション・モジュールについて
Oracle ADFアソシエーションについて
Copyright © 1997, 2006, Oracle. All rights reserved.