在另一个DAO - DAO依赖项中使用DAO调用

时间:2013-10-24 12:01:54

标签: java dependencies dao

我有一个基本问题。

我一直在创建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

2 个答案:

答案 0 :(得分:2)

不鼓励在另一个DAO中调用DAO。你的服务为什么不做这项工作?一种服务方法,如:

public void combinedServiceWork(String deptName) {
    long deptId = DeptDAO.getId(deptName);
    EmpDAO.getEmps(deptId);
}

getEmps(deptName);

中摆脱EmpDAO

答案 1 :(得分:0)

我不知道你从哪里得到你的信息。你能提供一个引用,告诉你这是一个如此令人发指的错误吗?它可以是一种手工编码一对多关系的方式。

我有更多问题,使这些静态。