ビュー・オブジェクト(view object)

SQL問合せを使用して、エンティティ・オブジェクトからフィルタリングされる属性のサブセットを指定する。データのビューは、SQLに基づいているが、基礎となるエンティティ・オブジェクトとは別であるため、必要なUIをサポートする柔軟性の高いデータ取得が実現する。つまり、画面に表示する必要のあるデータのセットを問い合せることができる。ビュー・オブジェクトにより、クライアントには、基礎となるエンティティ・オブジェクトを意識せずに、またはこれらに関する知識がない場合でも、スクロールして更新ができる行セットが提供される。クライアントは結果セット内を移動し、属性値を取得および設定することにより、データを操作する。トランザクションがコミットされると、基礎となるデータベース内のデータが変更される。ビュー・オブジェクト間の関係は、ビュー・リンクを使用して表される。各ビュー・オブジェクトは、結果セット内の移動に使用できるデフォルトのイテレータを提供する。

ビュー・オブジェクトは、通常、次の場合に使用される。

1つのエンティティ・オブジェクトに対して複数のビュー・オブジェクトを定義できる。また、1つのビュー・オブジェクトは複数のエンティティ・オブジェクトからデータを選択できる。データはエンティティ・オブジェクト・レベルでキャッシュされ、同じトランザクション内のすべてのビュー・オブジェクト参照でそのキャッシュを共有するため、あるビュー・オブジェクトを介して行われた変更は、同じトランザクション内の他のビュー・オブジェクトでただちに使用可能になる。

ビュー・オブジェクトを定義する場合、どの基礎エンティティ・オブジェクトを読取り専用にするか、およびどのエンティティ・オブジェクトでビュー・オブジェクトの属性リスト内の属性に対する読み書き操作を可能にするかを指定できる。

アプリケーション・モジュール・ウィザードおよびアプリケーション・モジュール・エディタでは、マスター/ディテール関係でビュー・オブジェクトをリンクするために使用するビュー・リンクを選択できる。ビュー・リンクは、実行時に実行されるコード内でも指定できる。ディテール・ビュー・オブジェクトは、自動的に、対応するマスター・ビュー・オブジェクトと同期化される。

アプリケーション・モジュールは、無制限ビューやディテール・ビューなど同じビュー・オブジェクトを何回も使用できる。別名を指定して、所定のビュー・オブジェクトの様々な使用方法を表すことができる。