首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Hibernate分页在Java程序中不能按预期工作

Hibernate分页在Java程序中不能按预期工作
EN

Stack Overflow用户
提问于 2019-05-17 03:20:36
回答 1查看 664关注 0票数 2

我正在尝试调试下面的问题。我有一个页面,将显示所有的网址链接,这是从我的表在MySQL中获得。它显示每页最多10条记录。下面是它的外观:

现在的问题是,它能够显示记录,但当我单击下一页(第2页)时,它不显示记录,出现错误,但没有显示消息,我无法对其进行调试。据我所知,如果我将更多的记录添加到我的表中,它可以没有问题地显示第2页,但当我试图转到第3页时,同样的事情发生了,并且无法显示这些记录。如下所示:

我相信这是一些计算问题,但我不知道我需要做什么。

这基本上就是我每次“切换”页面时调用的方法:

代码语言:javascript
运行
AI代码解释
复制
urlList = nodeFacade.list_url((pageNo - 1) * pageSize, pageSize, sortName, sortorder);

如果我转到第2页,pageNo总是当前page.So的编号,那么pageNo=2和pageSize肯定是10。Sortname基本上是我的列名(GenDate),而sortOrder是DESC。下面是被调用的方法:

代码语言:javascript
运行
AI代码解释
复制
public List<UrllinkEntity> list_url(int offset, int limit, String orderBy, String order) {
        try {
            String sql = "SELECT g FROM UrllinkEntity as g ";

            if (orderBy != null) {
                sql += "order by lower(" + orderBy + ") " + order;
            }

            Query q = em.createQuery(sql);
            q.setFirstResult(offset);

            if (limit != 0) {
                q.setMaxResults(limit);
            }

            List modList = q.getResultList();

            return modList;
        } catch (Exception e) {
            msg = CoreUtil.wrapMsg(CoreUtil.FUNC_ERROR,
                    this.getClass().getName(), "list_url", e.getMessage());

            return null;
        }
    }

我清楚地调试了每个值,它似乎能够检索值,但不能显示它。那么我是不是做错了什么?

编辑

似乎如果我使用(lastpagenumber-1)*pageSize,那么它将能够毫无问题地显示每一页,但是每一页都返回与以前相同的10条记录,因此它仍然无法工作。

编辑

从进一步的研究来看,似乎是sortName导致了这个问题。假设表中有144条记录。sortname基本上是orderBy,我尝试使用GenDate,它是表中的一个列,它能够在出现错误之前转到第4页。我尝试将orderBy更改为fileID另一列,在遇到同样的问题之前,它最多可以显示到第13页。总而言之,有15页要展示。所以我不知道为什么会发生这种情况。

EN

回答 1

Stack Overflow用户

发布于 2019-05-17 07:23:04

我猜也许你的pageNo是错的。在hibernate分页中,pageNo应该是lastPageNumber。

代码语言:javascript
运行
AI代码解释
复制
Query selectQuery = session.createQuery("SELECT g FROM UrllinkEntity as g ");
selectQuery.setFirstResult((lastPageNumber - 1) * pageSize); 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56179130

复制
相关文章
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示: 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
(0,0) (1,0) (2,0) (2,1) (2,2) (2,3) (2,4) (3,4) (4,4)。
福大大架构师每日一题
2023/03/04
1.1K0
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示: 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示:0, 1, 0, 0, 0,0, 1, 1, 1, 0,0,
[(0,0) (1,0) (2,0) (2,1) (2,2) (2,3) (2,4) (3,4) (4,4)]。
福大大架构师每日一题
2023/06/08
3060
2023-03-04:定义一个二维数组N*M,比如5*5数组下所示:0, 1, 0, 0, 0,0, 1, 1, 1, 0,0,
【Python】循环语句 ⑤ ( range 语句 | for 循环本质遍历序列 | 生成由 0 开始到 n 的序列 | 生成由 m 到 n 的序列 | 生成由 m 到 n 的步长为 k 的序列 )
上述语法中的 数据集 是 序列类型 , 该类型变量 用于存储一系列有序的元素 , 常见的序列类型有 :
韩曙亮
2023/10/11
2490
【Python】循环语句 ⑤ ( range 语句 | for 循环本质遍历序列 | 生成由 0 开始到 n 的序列 | 生成由 m 到 n 的序列 | 生成由 m 到 n 的步长为 k 的序列 )
2023-02-12:给定正数N,表示用户数量,用户编号从0~N-1, 给定正数M,表示实验数量,实验编号从0~M-1, 给定长度为N的二维数组A, A[i]
Bi = { e, f }表示,第i条查询想知道e号、f号实验,一共有多少人(去重统计)。
福大大架构师每日一题
2023/02/12
5610
2023-02-12:给定正数N,表示用户数量,用户编号从0~N-1, 给定正数M,表示实验数量,实验编号从0~M-1, 给定长度为N的二维数组A, A[i]
从M走到N最少步数
假设一个人站在 X 轴的正半轴上,起始点在 M 点(0 <= M <= 100000),他每次可以向左走一步,向右走一步,或者走到所在坐标乘以2的位置,最终来到 N 点(0 <= N <= 100000)。问:所需的最少步数是几步?(如果不能从 M 走到 N 点,则返回 -1)
echobingo
2018/10/10
8170
2021-08-29:N * M的棋盘(N和M是输入参数),每种颜色
2021-08-29:N * M的棋盘(N和M是输入参数),每种颜色的格子数必须相同的,上下左右的格子算相邻,相邻格子染的颜色必须不同,所有格子必须染色,返回至少多少种颜色可以完成任务。
福大大架构师每日一题
2021/08/30
3420
2021-08-29:N * M的棋盘(N和M是输入参数),每种颜色
输入数字n然后输出0到n的全排列
给定一个正整数n, 则输出0到n的所有排列 输入:2 输出:012 021 102 120 201 210 代码: private static Set<String> result = new HashSet<String>(); public static void allSort(int number) { if (number < 0) { return; } String str=""; for (int i = 0;i <= number; i
用户6055494
2019/10/21
1.1K0
2023-06-24:给你一根长度为 n 的绳子, 请把绳子剪成整数长度的 m 段, m、n都是整数,n > 1并且m > 1,
例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。
福大大架构师每日一题
2023/07/08
2080
2023-06-24:给你一根长度为 n 的绳子, 请把绳子剪成整数长度的 m 段, m、n都是整数,n > 1并且m > 1,
Sony RX0M1-M2外接M43接口改装
两者所对应的传感器尺寸不同,同时物理规格也不一样,MFT的卡口直径46.5mm,法兰距38.6mm,EF的直径是54mm,法兰距44.14mm。
云深无际
2023/02/27
1.2K0
Sony RX0M1-M2外接M43接口改装
UVA The ? 1 ? 2 ? ... ? n = k problem
The ? 1 ? 2 ? ... ? n = k problem The problem Given the following formula, one can set operators '+
用户1624346
2018/04/17
5850
2023-02-12:给定正数N,表示用户数量,用户编号从0~N-1,给定正数M,表示实验数量,实验编号从0~M-1,给定长度为
B[i] = { e, f }表示,第i条查询想知道e号、f号实验,一共有多少人(去重统计)。
福大大架构师每日一题
2023/06/08
1830
2023-02-12:给定正数N,表示用户数量,用户编号从0~N-1,给定正数M,表示实验数量,实验编号从0~M-1,给定长度为
Celery ValueError: n
最近因项目需要,在使用任务队列Celery的时候,出现如题错误,最终在github上里找到解决办法,记录一下。
py3study
2020/01/20
7970
一个正整数 n ,求n!的末尾有几个0
import java.util.Scanner; /** * 输入一个正整数 n ,求n!的末尾有几个0 * 例如:10! = 3628800,则返回 2 */ public class Test1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int coun
小雨的分享社区
2022/10/26
6910
Numpy与矩阵
请注意,本文编写于 980 天前,最后修改于 980 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
1.4K0
Numpy与矩阵
数学--组合数学--当C(n,m)中n固定m++的递推模板
ll power(ll a, ll b, ll p) { ll ans = 1 % p; for (; b; b >>= 1) { if (b & 1) ans = ans * a % p; a = a * a % p; } return ans; } long long mm[500000]; void init(ll n, ll k) { mm[1] = 1; for (ll i =2;
风骨散人Chiam
2020/11/03
5020
节省大量时间的 Deep Learning 效率神器
写深度学习网络代码,最大的挑战之一,尤其对新手来说,就是把所有的张量维度正确对齐。如果以前就有 TensorSensor 这个工具,相信我的头发一定比现在更浓密茂盛!
McGL
2020/10/30
1.7K0
节省大量时间的 Deep Learning 效率神器
0 到 n-1 的数组判重
首先我们想到的就是hash,通过hash判断一个数字是否在之前出现过只需要O(1)的时间复杂度,我们知道hashset的底层过就是hashmap的key,即hash的实现。
Tim在路上
2020/08/04
3670
C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数。在主函数中输入两个正整数m和n(m>=1,n>m),统计并输出m和n之间的素数的个数以及这些素数的和。
定义一个函数int isprime(int n),用来判别一个正整数n是否为素数。在主函数中输入两个正整数m和n(m>=1,n>m),统计并输出m和n之间的素数的个数以及这些素数的和。
川川菜鸟
2021/10/18
2.7K0
构建列表 [[0] * m] * n带来的隐患
这里只修改了L[0][0],但是却L却输出: [[1, 0, 0], [1, 0, 0]]
生信编程日常
2020/05/08
5780
递归实现n^k
#include<stdio.h> #include<stdlib.h> int Power(int m,int n){ if(n<=1){ return m;} return m*Power(m,n-1); } int main(){ int m; int n; printf("请输入需要计算次方的底数与指数:"); scanf("%d %d",&m,&n); a=Power(m,n); printf("结果为:%d\n",a); system("pause")
小雨的分享社区
2022/10/26
2340

相似问题

ValueError: matmul:输入操作数1的核心维数0不匹配,具有gufunc签名(n,k),(k,m?)->(n?,m?)

13

ValueError: matmul:输入操作数1的核心维数0不匹配,具有gufunc签名(n,k),(k,m?)->(n?,m?)(尺码13与1不同)

12

ValueError: matmul:输入操作数1在其核心维度0中不匹配,gufunc签名为(n?,k),(k,m?)->(n?,m?)(大小%1与%3不同)

2957

ValueError: matmul:输入操作数1在其核心维度0中不匹配,gufunc签名为(n?,k),(k,m?)->(n?,m?)(大小%2与%1不同)

120

matmul:输入操作数1的核心维度0不匹配,gufunc签名为(n?,k),(k,m?)->(n?,m?)(大小20与10不同)

117
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档