一个智能业务对象实际上可能包含来自多个数据库表的信息。构建业务对象可能需要多个数据库查询。但是,有时您不需要业务对象的完整信息。我是否需要再创建一个只包含业务实体基本信息的简单类?
我有一个部门的例子:
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;
}
要构造“部门”对象,我必须对不同的数据库表进行多次查询以获取成员、headOfDepartment 和 subDepartments。
如果我只是想列出所有部门,实际上我不需要“成员”、“headOfDepartment”和“subDepartments”。我需要的只是每个“部门”的“名称”和“描述”。
在这种情况下,我有两个解决方案:
1)创建一个名为 SimpleDepartment 的类,如:
public class SimpleDepartment {
String name;
String description;
}
2) 使用部门,但不提供完整信息。这样,“部门”对象可能包含以下数据:
Department{
name:"CCS"
description : "CCS is under CEO office to help CEO handling emails."
headOfDepartment : null
members : null
subDepartments : null
}
我应该选择哪种解决方案?