ステップ4: ビュー・オブジェクトの作成 |
![]() 前へ |
![]() 次へ |
前述したように、ビュー・オブジェクトは通常トップダウンで開発されます。つまり、ビュー・オブジェクトを作成する前に、どのようなUIが存在するかを考えます。このアプリケーションでは、作業の基本となるUIの最終スケッチをデザイン部門がまだ作成していないが、フィールドは表に定義されていると考えます。
「Order Date」などのいくつかのフィールドは読取り専用ですが、「Quantity」のようにいくつかのフィールドはユーザーがデータを入力する必要があります。UIにある各フィールドは、ビュー・オブジェクトの属性にマップされます。これを示すために、次の表にはUIフィールド、ビュー・オブジェクト、属性、属性型に関する注意がリストされています。
UIフィールド | ビュー・オブジェクト | 属性 | 属性の説明 |
---|---|---|---|
Line Item Number | OrderItemsView | OrderItemId | OrderIdと複合主キー |
Product ID | OrderItemsView | ProductID | このフォームでは読取り専用の属性 |
Price | OrderItemsView | UnitPrice | このフォームでは読取り専用の属性 |
Quantity | OrderItemsView | Quantity | ユーザーにより入力された数値 |
Order Number | OrdersView | OrderId | DBの順序により生成される主キー |
Date | OrdersView | OrderDate | Javaコードで生成された日付 |
モード | OrdersView | OrderMode | directまたはonlineのいずれかの文字列 |
CustomerId | OrdersView | CustomerId | Customersエンティティの外部キー |
Status | OrdersView | OrderStatus | 0から10の数値 |
Total | OrdersView | OrderTotal | 計算された属性 |
First Name | OrdersView | CustFirstName | Customersからの関連フィールド |
Last Name | OrdersView | CustFirstName | Customersからの関連フィールド |
OrderItemsに対するビュー・オブジェクトを最初に作成し、次にOrdersに対するビュー・オブジェクトを作成します。
OrderItemsViewビュー・オブジェクトを作成するには、次のようにします。
これで、OrderItemsビュー・オブジェクトに、OrderItemsエンティティ・オブジェクトのすべての属性が含まれました。
このトピックの前の演習では、ビュー・オブジェクトとエンティティ・オブジェクトは1:1の関係にあるように説明されていたかもしれません。実際には、そうではありません。ビュー・オブジェクトは、複数のエンティティ・オブジェクトの属性を(またはその他のデータソースの属性でさえ)取得できます。次の演習では、OrdersViewビュー・オブジェクトを作成し、それにCustomersエンティティ・オブジェクトのCustFirstNameおよびCustLastNameが含まれるように指定します。これにより、注文を見ると、ID番号だけでなく、顧客のファースト・ネームとラスト・ネームを得ることができます。
OrdersViewビュー・オブジェクトを作成するには、次のようにします。
ビジネス・ロジック層に、ユーザー・インタフェースからアクセスできる2つのビュー・オブジェクトが追加されました。OrdersViewビュー・オブジェクトには、OrderId、OrderDate、OrderTotal、顧客名など、注文に関する情報が含まれます。OrderItemsViewビュー・オブジェクトには、注文の個々の注文詳細に関する情報が含まれます。このビジネス・ロジック層にアクセスするクライアントを現段階で作成すれば、1件の注文の情報、または注文に含まれる1件の注文詳細の情報を表示することができます。ただし、本当に表示するものは、注文情報および注文に含まれるすべての詳細情報です。これを実装するには、ビュー・リンクを使用して、マスター/ディテール関係を定義する必要があります。
次のステップでは、マスター/ディテール・ビュー・リンクを作成します。