当前位置: 首页 > 面试题库 >

在休眠状态下实现结果分页(获取总行数)

郎玮
2023-03-14
问题内容

如何在Hibernate中实现分页?这些Query对象具有称为的方法setMaxResultssetFirstResult这些方法肯定有帮助。但是我在哪里可以得到结果的总数,以便可以显示到结果最后一页的链接,并可以打印诸如
xxx的 结果200到250之类的东西?


问题答案:

您可以使用Query.setMaxResults(int results)和Query.setFirstResult(int offset)。

也要进行编辑:无法知道您将获得多少结果。因此,首先必须使用“ select count(*)…”进行查询。有点丑,恕我直言。



 类似资料:
  • 问题内容: 我目前在我的项目中设置了hibernate模式。它适用于大多数情况。但是今天我需要查询返回一个表中的几十万行。它是表中总行的约2 / 3s。问题是查询大约需要7分钟。使用直接JDBC并执行我认为是相同的查询的过程,花费的时间少于20秒。因此,我认为自己做的事情完全错误。我将在下面列出一些代码。 有什么想法为什么会很慢和/或我可以做些什么来改变它? 问题答案: 您可能已经回答了自己的问题

  • 问题内容: 我需要在hibernate状态下禁用ONLY_FULL_GROUP_BY。这是我当前的会话工厂。我不确定如何在其中指定sql_mode =’‘。 问题答案: 我认为您可以在JDBC连接字符串中进行设置,例如

  • 问题内容: 我正在尝试在具有联接到其他表的Hibernate Criteria查询上使用基于行的限制(例如:和)来实现分页。 可以理解,数据是随机切断的。而其中的原因进行了说明这里。 作为解决方案,该页面建议使用“第二个SQL选择”而不是联接。 如何将现有的条件查询(使用进行联接)转换为嵌套选择呢? 问题答案: 您可以通过请求一个不同的ID列表而不是一个不同的水合对象列表来获得所需的结果。 只需将

  • 问题内容: 如果数据库中有2列,例如。 如何告诉Hibernate通过varchar进行代码搜索? 在休眠映射字符串中,字符串被映射到nvarchar,并产生如下查询: 这非常糟糕,因为它导致索引扫描而不是索引查找操作(扫描所有索引节点而不是直接转到请求的节点) 由于代码用于数百万行以及几个索引和外键中,因此将代码从varchar更改为nvarchar会导致性能下降(IO操作更多,因为nvarch

  • 问题内容: 显示标签提供给定对象的分页功能。Hibernates提供了仅提取每页所需记录的选项。在我的项目中,我们同时使用了这两个概念。 显示广告代码:我需要根据过滤条件提取所有记录并将其存储在会话中。然后这个displaytag将负责所有分页和排序。因此Httpsession拥有很多数据。 hibernate:它仅从数据库中获取请求的对象数,无需为每个请求打开会话。 最好的做事方法是什么?或者如

  • 问题内容: 我正在尝试对查询使用Hibernate分页(PostgreSQL) 我设置,我的SQL查询。我的代码如下: 但是当查看SQL Hibernate日志时,我仍然看到完整的SQL查询: 为什么在Hibernate分页SQL日志查询中没有LIMIT OFFSET? 有人知道Hibernate分页机制吗? 我猜Hibernate将选择所有数据,将数据放入Resultset,然后在Results