代码之家  ›  专栏  ›  技术社区  ›  Boden

更新多个实体的方法通常不是DAO的一部分吗?

  •  3
  • Boden  · 技术社区  · 17 年前

    但是,我从来没有见过一个例子,其中有一个方法可以更新、删除或创建多个实体,比如:voidupdate(List)。

    我只想在我开始做那些看起来很明显的事情之前确保我没有遗漏什么。

    3 回复  |  直到 17 年前
        1
  •  2
  •   duffymo    17 年前

    我发现批量更新通常是用数据库供应商提供的工具完成的。

    我同意我所见过的dao通常没有create/update/delete重载来获取List的方法,但是没有理由不能这样做。

    我的建议是不要使用dao,让一个单独的服务层拥有批处理操作。服务拥有事务逻辑。它也是一个很好的地方,可以将一个大的更新“分块”成块。这使您可以检查批处理并保持回滚日志的大小可管理。

        2
  •  0
  •   Fabio Vinicius Binder    17 年前

        3
  •  0
  •   GEOCHET S.Lott    17 年前

    void update(List) 应该和 void update(Item) ,只有 List 一个可以更新多个项目。如果没有,除非有非常具体的理由不这样做。如果方法执行相同的操作,那么调用方法的开销就不重要了。

    例如,打电话 update(Item) update(List) 它的作用与 更新(项)

    推荐文章