問合せ句からのビュー・オブジェクトの作成

createViewObjectFromQueryClauses()をアプリケーション・モジュールでコールすると、既存のエンティティ・オブジェクトに基づいてビュー・オブジェクトを動的に作成できます。このメソッドはクライアントまたはビジネス・ロジック層からコールできます。どちらの場合も、このメソッドはビュー・オブジェクトを1つ返し、そのビュー・オブジェクトをメンバーとしてアプリケーション・モジュールのデータ・モデルに追加します。ビュー・オブジェクトは1つのエンティティ・オブジェクトのみに基づく必要があります。SQL専用ビュー・オブジェクトを動的に作成する必要がある場合は、「問合せ文からのビュー・オブジェクトの作成」を参照してください。このメソッドには6つのString引数を指定します。

String viewUsageName="EmployeesView";
String entityObjectName="demo.Employees";
String selectClause="E.EMPLOYEE_ID, E.LAST_NAME, E.HIRE_DATE, E.SALARY, E.COMMISSION_PCT, E.MANAGER_ID, E.DEPARTMENT_ID";
String fromClause="EMPLOYEES E";
String whereClause=null;
String orderByClause=null;
ViewObject mgrvo=am.createViewObjectFromQueryClauses(viewUsageName, entityObjectName,
													fromClause, whereClause, orderByClause);

注意: このメソッドを使用してビュー・オブジェクトを作成すると、最初にデータをフェッチするとき、問合せが2回実行される場合があります。最初の問合せでは、データ型と精度の情報が収集されます。この情報は、データを適切なJava型にマップし、(最大値よりも低い精度を指定して)問合せの効率を上げるために、後の問合せで使用されます。2回実行するとパフォーマンス上問題がある、負荷の高い問合せの場合、回避策として、行を返さないダミーのWHERE句を使用してまずビュー・オブジェクトを作成し、そのビュー・オブジェクトに対してメタデータ問合せと属性定義を容易にするgetAttributeCount()をコールし、次にsetQuery()をコールして、必要に応じて問合せを変更します。このようにすると、最初の問合せは、同じデータセットに対する単純で負荷の高くない問合せになります。


関連項目

コードでのビュー・オブジェクトのメンバーの作成と検索の方法
データ・モデルにあるビュー・オブジェクトのメンバーの検索
データ・モデルへの事前定義済ビュー・オブジェクトの慣用名の追加
問合せ文からのビュー・オブジェクトの作成