一个DAO per'容器'每桌一个或一个DAO?

时间:2015-08-03 23:16:21

标签: java database entity containers dao

我有一个'容器'包含在多个数据库表中的字段的类,我使用DAO模式来访问数据。

问题是,我是否应该为这个容器创建一个DAO'或者,每个表有一个DAO并将它们的数据组合起来更好吗?

1 个答案:

答案 0 :(得分:19)

您应该根据应用程序需求设计DAO,而不是数据库的布局。从一个DAO开始,如果它变得太大,那么以一种对你的代码有意义的方式将它重构为多个DAO。

DAO的重点是从应用程序隐藏任何数据库概念(如表)。您的应用程序应该只使用一些有用的方法将其视为服务。

例如,如果您的应用程序需要来自Users表和EmailAddresses表的某些用户数据,那么您的应用程序代码不应该协调两个DAO - 它应该调用一个DAO方法getUserDetails()并且DAO将隐藏需要调用多个表的事实。

我建议您提出问题中的第一个选项,但我不会将自己局限于“每个容器类一个DAO”这一规则。

相关问题