gpt4 book ai didi

java - DAO 类是否应该依赖于其他 dao 类?

转载 作者:行者123 更新时间:2023-12-04 05:30:01 29 4
gpt4 key购买 nike

通常,我会尝试以一种完全依赖于自身的方式来构建我的 DAO 类。它们可以与多个表交互,但前提是数据与基础对象相关。例如,假设我有一个约会对象,约会 DAO 从约会表中提取数据。如果约会表是一个服务 id,它是一个将约会绑定(bind)到服务的外键,可以说一列。 services 表完全独立于约会,并且有自己的 DAO,用户可以在其中添加或删除服务。

约会对象有一个服务字段,用于存储服务对象。我这样做是因为在许多情况下,在处理约会时有必要引用这个服务对象。

在约会 DAO 中,我可以编写单独的 SQL 语句来从其表中提取服务数据并在约会 DAO 中重新映射所有这些,但所有这些都已经在服务 DAO 中完成,就像调用 serviceDao.find 一样简单(服务标识)。在我的约会 DAO 中引用服务 DAO 感觉有点脏。这是因为我有设计问题还是可以做这种事情?我试过研究这个问题,结果是 50/50。

最佳答案

为什么让一个服务 DAO 引用另一个服务如此糟糕?

您需要注意的一个问题是延迟导致死亡。如果您的服务 DAO 带回 N 个实例,然后您循环这些结果以带回其他东西,那么您将有 N+1 个查询 - 和 N+1 个网络往返 - 其中一个 JOIN 的单个往返将带来所有这些数据立即返回。

我建议您不要担心 DAO,而更多地关注编写最好、最高效的 SQL。

关于java - DAO 类是否应该依赖于其他 dao 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12764578/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com