2

有什么方法可以在 Hibernate 中处理长查询结果?如果我想绘制包含数百万条记录的表格并允许用户浏览它怎么办?

目标不是当时将所有数据传输给客户端并处理当前位置。

4

3 回答 3

3

您可以尝试使用 Hibernate ScrollableResults,我引用:

一个结果迭代器,允许在结果中以任意增量移动。Query / ScrollableResults 模式与 JDBC PreparedStatement/ ResultSet 模式非常相似,并且该接口的方法语义与 ResultSet 上类似名称的方法相似。

于 2012-09-26T17:48:23.197 回答
2

您可以在 Query 对象中FirstResult使用简单的机制。MaxResults

query.setFirstResult(5);
query.setMaxResults(5);

以上5将从第五条记录中获取记录。

您可以使用ScrollableResults但对于较大的结果,它会比上面的要慢。

于 2012-09-26T17:53:15.023 回答
0

要改进对大型数据集的查询,请使用键集分页并尽可能避免偏移分页,因为使用偏移量需要读取所有数据,而使用键集分页(过滤器)会减少数据集(改进可能很重要)。

这是一篇好文章https://use-the-index-luke.com/no-offset

于 2018-05-10T04:43:31.600 回答