【问题标题】:To have a seperate DAO implementation class for each database table is a good approach?为每个数据库表有一个单独的 DAO 实现类是一个好方法吗?
【发布时间】:2017-07-17 04:01:05
【问题描述】:

我有两个表名为table_1table_2,我必须在每个表上执行一些插入、删除和更新操作。

谁能告诉我,我应该创建两个不同的(数据访问对象)实现还是应该只有一个?以及这两种方法的优缺点是什么。

【问题讨论】:

    标签: java database dao


    【解决方案1】:

    如果可以在两个表中独立插入/更新/删除行,那么可以,您应该继续使用单独的 DAO 类。优点如下:

    • 它提倡separation of concerns设计模式。
    • Spring data jpa 也使用相同的设计,它适用于每个实体一个 Repository(在我们的例子中是表)
    • 如果您有任何需要同时查询表 1 和表 2 的功能,那么理想情况下它应该进入service 层并调用两个DAOs。另外,如果这些表之间有任何外键关系,可以使用@OneToMany@ManyToMany 等注解进行映射。

    【讨论】:

      猜你喜欢
      • 2015-10-26
      • 2015-04-16
      • 2014-09-02
      • 1970-01-01
      • 2013-12-28
      • 2016-01-14
      • 2015-02-04
      • 1970-01-01
      • 2015-02-03
      相关资源
      最近更新 更多