我见过数百万个DAO示例,并且大多数情况下它们都实现了单个实体的基本CRUD操作,可能有几个返回列表的方法(例如List getCustomers())。更新多个实体的方法通常不是DAO的一部分吗?
但是,我从来没有见过有更新,删除或创建多个实体的方法的示例,如:void update(List)。
更新多个实体的方法通常不是DAO的一部分,还是仅仅在示例中不经常使用?我有一个要求,我必须做一些批量插入,并调用myDAO.create()一百次是不是非常有效。
我只是想确保我不会错过任何东西,然后再继续前进,并做出看似明显的事情。
嗯,它似乎我仍然必须在我的DAO中有一个方法,可以采取一个列表,以便我可以实现正确的批量更新。我仍然可以将我的服务方法中的批量拆分,并将它们全部在相同的事务下运行,是的? – Boden 2009-05-28 21:37:26
不,我建议DAO仍然需要一个对象实例,并且服务会在一个循环中调用DAO(或者如果您正在“分块”它,则循环)。服务方法将是拥有交易的单个工作单元。该服务也可能批量处理以减少网络流量。 – duffymo 2009-05-28 21:42:27