通常,我会尝试以一种完全依赖于自身的方式来构建我的 DAO 类。它们可以与多个表交互,但前提是数据与基础对象相关。例如,假设我有一个约会对象,约会 DAO 从约会表中提取数据。如果约会表是一个服务 id,它是一个将约会绑定到服务的外键,可以说一列。services 表完全独立于约会,并且有自己的 DAO,用户可以在其中添加或删除服务。
约会对象有一个服务字段,用于存储服务对象。我这样做是因为在许多情况下,在处理约会时有必要引用这个服务对象。
在约会 DAO 中,我可以编写单独的 SQL 语句来从其表中提取服务数据并在约会 DAO 中重新映射所有这些,但所有这些都已经在服务 DAO 中完成,就像调用 serviceDao.find 一样简单(服务标识)。在我的约会 DAO 中引用服务 DAO 感觉有点脏。这是因为我有设计问题还是可以做这种事情?我试过研究这个问题,结果是 50/50。