我见过的大多数 DAO 示例都包含仅涉及一张表的简单查询。
我正在重构一个没有 DAO 的项目,该项目有很多使用多个表的 SQL 查询。我的问题是如何最好地为 DAO 设计模型?在下面的示例中,我可以创建一个涵盖每个特定查询的对象。但是,我不确定这是否是好的做法。例如,让一个对象代表每个数据库表会更好吗?
CustomerPaymentDAO 覆盖此查询:
select
a.username,
p.creation_date,
p.amount,
c.card_type
from
account a,
payment p,
payment_type t,
payment_card c
where
...
CustomerPurchaseDAO 覆盖此查询:
select
a.username,
i.name,
i.cost,
c.name,
v.value
from
account a,
item i,
category c,
voucher v
where
...