java - 每个 'container' 类一个 DAO 还是每个表一个 DAO?

标签 java database entity containers dao

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

问题是,我应该为这个“容器”类创建一个 DAO,还是每个表有一个 DAO 并合并它们的数据更好?

最佳答案

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

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

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

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

关于java - 每个 'container' 类一个 DAO 还是每个表一个 DAO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31798226/

相关文章:

php - 将表格放入二维数组并显示它

php - 来自另一个数据库的 MySQL 子查询,其中表名取决于主查询

entity-framework - 更新 Entity Framework 对象

java - Hibernate 忽略@Table 注解

mysql - 错误 1054 (42s22) : unknown column 'action' in 'field list'

jpa - 当一个实体停止在 JPA 中进行管理时

java - 在java中使用swing将按钮放置在指定位置

java - 正则表达式仅替换内部标记(需要编写正则表达式的帮助)

java - 如何在另一个进程开始之前绘制jrame组件

java - ajax 调用错误的 servlet