栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用JPA(Hibernate)查找包含给定记录的页面

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用JPA(Hibernate)查找包含给定记录的页面

确保我理解正确:您正在显示,

Record
并且想要显示所有记录的分页列表,从而预选了包含您的项目的页面?

首先,您必须知道关系数据库不提供数据库中记录的任何隐式排序。尽管它们似乎是从头到尾添加的,但它并不便携且可靠。

因此,您的分页列表/网格必须按某些列进行显式排序。为简单起见,假设您的网格按排序

id
。您知道当前显示的记录的ID(例如:)
X
。首先,您需要根据此排序顺序找出记录在表中的哪个位置:

SELECt COUNT(r)FROM Record rWHERe r.id < :X

该查询将返回记录 之前 的记录数。现在很简单:

int page = count / pageSize

page
基于0。

不幸的是,如果您的排序列不是唯一的,则可能无法在所有情况下都起作用。但是,如果该列不是唯一的,则排序本身就不稳定(具有相同值的记录可能会以随机顺序出现),因此请考虑按额外的唯一列进行排序:

...ORDER BY r.sex, r.id

在这种情况下,记录首先按

sex
(很多重复项)和ID 排序。在当前记录之前对记录进行计数的解决方案仍然有效。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382017.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号