1 つのインテリジェント ビジネス オブジェクトには、実際には複数のデータベース テーブルからの情報が含まれている場合があります。ビジネス オブジェクトの構築には、複数のデータベース クエリが必要になる場合があります。ただし、ビジネス オブジェクトの完全な情報が必要でない場合もあります。ビジネス エンティティの基本情報だけを含む単純なクラスをもう 1 つ作成する必要がありますか?
部門の例があります:
public class Department {
String name;
String description;
//have to query other Table to get headOfDepartment
Employee headOfDepartment;
//have to query other table to get members
List<Employee> members;
//have to query other table to get subDepartments.
List<Department> subDepartments;
}
「Department」オブジェクトを構築するには、異なるデータベース テーブルに対して複数のクエリを実行して、メンバーの headOfDepartment と subDepartments を取得する必要があります。
すべての部門をリストしたいだけなら、実際には「members」、「headOfDepartment」、および「subDepartments」は必要ありません。必要なのは、各「部門」の「名前」と「説明」だけです。
この場合、2 つの解決策があります。
1) SimpleDepartment という名前のクラスを次のように作成します。
public class SimpleDepartment {
String name;
String description;
}
2) Department を使用しますが、完全な情報は提供しません。このように、「Department」オブジェクトには次のデータが含まれる場合があります。
Department{
name:"CCS"
description : "CCS is under CEO office to help CEO handling emails."
headOfDepartment : null
members : null
subDepartments : null
}
どのソリューションを選択すればよいですか?