我正在阅读关于hibernate批处理的http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/batch.html。批处理udpate部分说
对于检索和更新数据,同样的想法适用。此外, 你需要使用scroll()来利用服务器端游标 返回多行数据的查询。
这是否意味着我们必须使用ScrollableResults来启用批量更新?或者只是意味着使用它会给我们带来更多的优势?
谢谢, 萨拉
答案 0 :(得分:1)
文档指出,在尝试使用返回多行的OutOfMemoryError
进行批量更新时,很容易获得select
。
通过使用ScrollableResults
,您可以迭代这些行并仅在到达时检索它们。
这不是强制性的。如果您查看示例,它只是迭代实体,然后更新这些实体并刷新会话。
因此,如果您使用scroll()
或存储List
中的所有行,则取决于您。我建议ScrollableResultSet
。