Ste*_*gas 5 oop dao consistency
我正在设计JSF中的一些"数据块",我从每个块的Java bean中获取数据.我的问题是我的块从多个表中获取数据.例如:
描述客户个人数据的块包括:
我将不得不访问3个单独的表来填充此块.而不是构建3个不同的DAO(每个表一个),每块构建一个DAO不是更好吗?我理解这种方式在一致性方面存在缺点,因为如果一个表将被多个DAO访问,则表的每次更改都必须应用于每个表.但根据我的具体业务逻辑,我的代码将更容易理解.这有什么其他缺点?通常建议创建可以访问许多表的DAO吗?
我对这个问题的解决方案是实现一个名为getCustomerWithAddressAndCompanyInfo(或更短的东西)的新方法CustomerDAO.此方法运行连接客户,地址和公司表的单个查询,并通过对数据库的单次访问返回结果.
如果选择访问3个DAO,则必须在数据库上执行3个不同的查询,这可能会产生性能问题.如你所说,这也可能导致不一致.
另一种方法可能是在单独的类中收集这种复杂的查询方法,CustomerQueries而不是在现有的DAO类中实现它们.