我有一个基本问题。
我一直在创建DAO,关注分离。每个DAO都集中在上下文中的BusinessObject。我的问题是在另一个DAO中使用一个DAO方法。我认为这是错误的,但没有足够的数据支持。
情况就是这样。
EmpDAO:
getEmp(empId)
getEmps(deptId)
getEmps(deptName)
具有以下实施的问题
getEmps(deptName):
// Assume this is cached and there is no question of two N/w calls and having any gain by joins
DeptDAO.getId(deptName)
getEmps(deptId)
在EmpDAO中使用DeptDAO会出现什么问题?或者有什么要点因为我不应该在另一个DAO中进行DAO调用。
此致 AMOD
答案 0 :(得分:2)
不鼓励在另一个DAO中调用DAO。你的服务为什么不做这项工作?一种服务方法,如:
public void combinedServiceWork(String deptName) {
long deptId = DeptDAO.getId(deptName);
EmpDAO.getEmps(deptId);
}
在getEmps(deptName)
;
EmpDAO
答案 1 :(得分:0)
我不知道你从哪里得到你的信息。你能提供一个引用,告诉你这是一个如此令人发指的错误吗?它可以是一种手工编码一对多关系的方式。
我有更多问题,使这些静态。