1

我正在阅读有关休眠批处理的http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/batch.html 。批量更新部分说

对于检索和更新数据,同样的想法也适用。此外,您需要使用 scroll() 来利用服务器端游标来进行返回多行数据的查询。

这是否意味着我们必须使用 ScrollableResults 来启用批量更新?或者它只是意味着使用它会给我们带来更多的好处?

谢谢,莎拉

4

1 回答 1

1

OutOfMemoryError文档说明的是,当尝试使用select返回的许多行进行批量更新时,很容易得到一个。

通过使用,ScrollableResults您可以迭代这些行并仅在到达时检索它们。

这不是强制性的。如果您查看示例,它只是迭代实体,然后更新这些实体并刷新会话。

因此,是否使用scroll()或存储 a 中的所有行List取决于您。我会推荐ScrollableResultSet

于 2013-03-04T22:40:20.133 回答