J2EE设计模式从一个DAO进行另一个DAO调用是不道德的

时间:2014-05-31 07:28:48

标签: hibernate java-ee design-patterns dao

J2EE设计模式的精神是否不道德,更重要的是从一个DAO进行另一个DAO调用的MVC架构是不道德的?详细说明,我应该将另一个DAO类注入现有的DAO类来完成我的事务吗?

OR

我应该从第一次DAO调用中获取数据库输出的结果----->返回服务层(BL Layer)---------->然后将第一次调用的结果作为参数进行第二次DAO调用?

哪种更好的做法?

2 个答案:

答案 0 :(得分:1)

没有人阻止你以任何方式做这件事。但是第一种方法可能会产生一些问题,例如,如果您有两个链接的DAO执行多个DML语句,那么如果在第一个中抛出任何异常,则可能会产生锁定情况。
所以它'如果需要,最好使用服务方法调用另一个DAO。

答案 1 :(得分:0)

我同意阿里纳布的回答。加上其他几个提及的理由如下:

如果你从另一个调用一个DAO,那么Callee DAO与被叫DAO紧密耦合。

因此您没有使用单一责任原则这是核心SOLID design principle之一。这个原则将帮助您制作小型,独立,功能齐全的DAO