フォルトインの回避

フォルトインはOracle ADFエンティティ・キャッシュのメカニズムの1つで、未取得属性を要求するビジネス・ロジック・メソッドを扱います。フォルトインの詳細は、「フォルトインについて」を参照してください。

フォルトインは、ビジネス・ロジックによる未取得属性へのアクセス要求が時々発生する場合には適切なメカニズムです。ただし、フォルトインを頻繁に使用すると、数多くの小さな問合せがデータベースに送信されるため、データベース・アクセスおよび処理時間に大きく影響します。ビュー・オブジェクトで公開されていない属性が、ビジネス・ロジックによって繰り返し要求される可能性が高い場合は、フォルトインを回避する手順を実行する必要があります。

フォルトインを回避するには、次のようにします。

  1. ビュー・オブジェクトおよびビジネス・ロジックを分析してフォルトイン・リスクである属性を特定します。フォルトイン・リスクの詳細は、「フォルトインについて」を参照してください。
  2. エンティティ・オブジェクトに基づき、リスクのある属性を含むビュー・オブジェクト定義を作成し、そのインスタンスをデータ・モデルに追加します。詳細は、「新規のエンティティに基づく定義を持つビュー・オブジェクト・インスタンスの実行時の追加」を参照してください。

    たとえば、エンティティ・オブジェクトOrderItemsの属性ProductIdがフォルトイン・リスクである場合、OrderItemsに基づいた、次の問合せを含むOrderItemsFaultinRisksというビュー・オブジェクト定義を作成できます。

    SELECT PRODUCT_ID
    FROM ORDER_ITEMS;        
  3. このエンティティに基づいたビューにアクセスする前に、追加したビュー・オブジェクト・インスタンスに対してexecuteQuery()をコールします。
  4. 問合せの実行後、ビュー・オブジェクト・インスタンスの削除が実行され、リソースが解放されます。

ビジネス・コンポーネントのチューニング
Oracle ADF Business Componentsのキャッシュ管理について
ビジネス・ロジックの実装

 

 

Copyright © 1997, 2004, Oracle. All rights reserved.