gpt4 book ai didi

oop - 一表 DAO vs 多表 DAO

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

我正在 JSF 中设计一些数据“块”
我从每个块的 Java bean 中获取我的数据。
我的问题是我的块从多个表中获取数据。
例如:

描述 的块客户的个人资料 由组成:

  • 客户名称(在表 客户 中)
  • 客户姓氏(在表 客户 中)
  • 客户电话(表中 客户 )
  • 客户地址(表中 地址 )
  • 客户公司(表中 公司 )
  • 客户工作电话(表中 公司 )

  • 我将不得不访问 3 个单独的表才能填充这个块。与其构建 3 个不同的 DAO(每个表一个),不如 每个区块构建一个 DAO ?我知道这种方式在一致性方面有一个缺点,因为如果一个表将被多个 DAO 访问,则表的每次更改都必须应用于每个 DAO。但是根据我的特定业务逻辑,我的代码会更容易理解。这里还有什么其他缺点?通常是否建议创建可以访问许多表的 DAO?

    最佳答案

    我对这个问题的解决方案是实现一个名为 getCustomerWithAddressAndCompanyInfo 的新方法。 (或其他更短的东西)在 CustomerDAO .此方法运行连接客户、地址和公司表的单个查询,并通过对数据库的单次访问返回结果。

    如果您选择访问 3 个 DAO,则必须对数据库执行 3 个不同的查询,这可能会产生性能问题。正如您所说,这也可能导致不一致。

    另一种方法可能是在一个单独的类中收集如此复杂的查询方法,如 CustomerQueries而不是在现有的 DAO 类中实现它们。

    关于oop - 一表 DAO vs 多表 DAO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19426811/

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