我有一个数据库,我们通过加入做了很多请求,如下所示:
SELECT A.ID, B.FOO
FROM A
JOIN B ON B.ID=A.ID
WHERE ...
我的问题是:如何使用DAO模式应用此请求?我应该把它放进去,例如DAOAOracle吗?或者我应该创建一个新类DAOABOracle?什么是最佳做法?
答案 0 :(得分:2)
DAO模式对外键关系不好。
您需要2个DAO并分别阅读每个表格。如果你不需要阅读那么多记录就知道这是一个性能问题,那么这个解决方案可能会很好。
您可以创建仅供选择的DAO。它会像你指示的那样执行join sql。它会把它读成一个既有A列又有B列的类。
DAO的替代方法是使用和ORM库。大多数ORM都可以管理这种一对一或一对多的关系。