当前位置: 首页 > 知识库问答 >
问题:

使用分页的 Spring 应用程序始终返回与第 2 页相同的结果

鱼锦
2023-03-14

我正在使用 spring 开发一个使用 sqlite 作为数据库的应用程序,但我在存储库的 findAll(可分页)方法中实现分页时遇到了问题。

对于此实现,我使用的是 Pageable,问题是,从第二页开始,结果总是相同的。

经过一些调试后,我注意到在 sql 输出中,LIMIT 和 OFFSET 子句被切换了。也就是说,假设我想要每页 1 个结果,LIMIT 和 OFFSET 值如下所示:

页 1:

页=0 |大小=1 -

第 2 页:

页=0 |大小=1 -

第 3 页

页=0 |大小=1 -

也就是说,LIMIT 和 OFFSET 的值被切换,对于第 3 页的情况,它应该是:限制 1 偏移量 2

有谁知道为什么会发生这种情况,以及任何可能的解决方案?

共有1个答案

陆伟
2023-03-14

我已经设法解决了这个问题。问题在于使用有问题的自定义sql方言。我将实现更改为使用处理 sql 方言的 maven 依赖项,它解决了这个问题。

谢谢

 类似资料:
  • 这件事让我毛骨悚然。我正在使用CodeIgniters分页库,现在它总是作为当前页面粘贴在第1页上。我已经检查了一大堆StackOverflow问题,我没有和其他人一样的问题。 这是我的url结构 这是我控制器里的分页代码 当我在视图中呼应分页时,它看起来像是工作的。每个链接上的网址都是正确的,一切看起来都很好。最后一个链接显示最后一个页面url,当前页面为1。然而,当我点击第2页或分页中的任何其

  • 为了学习wordpress的开发,我正在从头开始构建一个wordpress主题。现在我想在我的类别页面上添加分页,但问题是:当我单击older-post-link时,url从“http://localhost/WordPress4/category/Bloc1/page/2/”变为“http://localhost/WordPress4/category/Bloc1/page/2/”,但它将我带到

  • 我正试图将Hystrix javanica集成到我现有的java EJB web应用程序中,在运行它时面临两个问题。 > 当我尝试调用以下服务时,它总是从回退方法返回响应,我看到回退方法中的Throwable对象有com.netflix.hystrix.exception.HystrixTimeoutExc0019异常。 每次触发此服务时,都会多次调用HystrixComad和回退方法约50次。

  • 我有一个带有分页页面的搜索结果,它只适用于第一个结果页面1。当用户输入具有11个结果的搜索关键字时,他们将进行搜索。php并正确查看结果: «è第1页,共2页,显示11个结果中的1-8个›» 但是,当用户单击 "在2页中的第1页,显示11个结果中的1-8个" 前8个结果与预期的最后3个结果相同 这是我单击第2页的下一个箭头时看到的URL:http://example.com/search/2/?s

  • 问题内容: 我有一个PDFReader,其中包含横向模式的某些页面和纵向模式的其他页面。 我需要区分它们以进行一些处理…但是,如果我调用getOrientation或getPageSize,则该值始终是相同的(pagesize为595,方向为0)。 为什么横向页面的值没有不同? 我试图找到其他方法来检索页面宽度/方向,但没有任何效果。 这是我的代码: 谢谢 ! 问题答案: 解决: 用 代替

  • 问题内容: 我有一个PDFReader,其中包含横向模式的某些页面和纵向模式的其他页面。 我需要区分它们以进行一些处理…但是,如果我调用getOrientation或getPageSize,则该值始终是相同的(pagesize为595,方向为0)。 为什么横向页面的值没有不同? 我试图找到其他方法来检索页面宽度/方向,但没有任何效果。 这是我的代码: 谢谢 ! 问题答案: 解决: 用 代替

  • 我一直在尝试获取我当前的位置更新,并按照Google的建议使用了融合位置提供商,但我无法获得任何更新。我在网上彻底搜索了,但找不到任何解决方案。融合提供商返回的位置甚至不接近我所在的位置,它显示了其他一些国家。有人能在这里帮我吗?

  • 我正在使用Spring数据存储库,没有任何问题。当我尝试添加分页(使用可分页界面)时,它工作正常。 但是,当返回的结果集小于Page大小时,结果为空List。 以下是我的页面请求。index和objectsPerPage的默认值分别为0和10。 将其用于返回少于10个结果的查询时,结果列表为空。 这就是我在服务层使用存储库的方式: 编辑1我找到了原因,但我仍在寻找解决方案或解决方法。 此代码位于S