0

我有一个方法将从 ManagedBean 调用如下

getemployeeService().findEmployees(qData);

qData只不过是一个为lazyloadload方法传递参数的类。

EmployeeQueryData qData = new EmployeeQueryData(start, end, sortField, order, filters);

我想将一个参数传递给findEmployeesDAO 类中的方法,以获取基于deptNo.

我的疑问是我是否应该传递另一个参数,例如

getemployeeService().findEmployees(qData, String deptNo);

或通过员工类

getemployeeService().findEmployees(qData, Employees emp);

在 DAO 中我调用deptNoemp.getDeptNo

最好的方法和做法是什么?任何建议和见解都是非常值得赞赏的。

4

2 回答 2

1

我认为通过部门更有意义。因为当我们说 DAO 层时,我们只从必须处理数据的角度来看。我们应该在业务逻辑层中包含 emp.getDeptNo()。

但是谈到可扩展性,如果将来你可能想要发送一些其他参数,比如 dept、DOJ 等等。因此,在这种情况下,您可以创建另一个类,例如 Criteria,并将 params 字段放在该类中,并将此类的 Object 传递给 find() 方法。

于 2012-12-24T07:09:08.880 回答
1

这两种方法各有利弊,但是您应该考虑您的程序的业务需求发生变化的可能性有多大。

例如,如果将来要求更改“我们不仅应该通过他/她的 depno,还应该通过employeeId 来定位员工”,那么第二种方法将使您更容易实施更改。使用第一种方法,您必须更改 findEmployees 方法的每次调用

于 2012-12-24T07:04:52.777 回答