1

我们在服务器中有以下查询:

Query query = this.entityManager.createQuery(
           "SELECT type, id, date, amount FROM Transaction ORDER BY type ASC");

类型字段不是唯一的。

为了实现分页,我们使用如下代码:

query.setFirstResult(currentPage * pageSize).setMaxResults(pageSize);

这意味着如果我们希望页面大小为 10,并且总共有 15 个结果,则客户端发送currentPage = 0, pageSize = 10以显示第一页并currentPage = 1, pageSize = 10显示第二页。

似乎在总结果 > 页面大小的情况下,我们在不同页面上得到相同的结果,并且某些结果行根本不显示(在任何页面上)。我们的猜测是这个问题与排序字段不是唯一的事实有关,因为如果我们使用以下查询,它不会发生:

"SELECT type, id, date, amount FROM Transaction ORDER BY type ASC, id ASC"

有谁知道为什么会这样?以及如何解决?(其他只是将 id 添加为排序字段)。

4

0 回答 0