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

在hibernate中加载百万行

  •  2
  • fastcodejava  · 技术社区  · 14 年前

    如果我想在hibernate中获取数百万行,它将如何工作?休眠会崩溃吗?我如何优化它。

    5 回复  |  直到 14 年前
        1
  •  3
  •   Tony Ennis    14 年前

    如果你想让所有的对象同时出现在内存中,你可能会遇到挑战。

    你可以找到一种不同的方法来优化它。例如,使用数据库工具可以比使用hibernate读取更快地从数据库转储数据。

    您可以在数据库中选择sums、maxes和counts,而无需通过网络返回一百万行。

        2
  •  5
  •   hvgotcodes    14 年前

    通常你不会使用hibernate。如果需要执行批处理操作,请使用sql或hibernate包装器执行批处理操作。加载数百万条记录对你的应用程序来说是不可能的。当gc运行时,你的应用程序可能会崩溃。必须有另一个选择。

        3
  •  1
  •   p.campbell    14 年前

    只带你需要的柱子。在测试环境中进行测试。

        4
  •  1
  •   Steven    14 年前

    为此,最好使用spring的jdbc工具和行处理程序。它将运行查询,然后一次对一行执行一些操作。

        5
  •  1
  •   Andy Mc    14 年前

    您应该尝试查看无状态会话接口,其示例可以在下面找到:

    http://mrmcgeek.blogspot.com/2010/09/bulk-data-loading-with-hibernate.html