我有一个使用Hibernate作为ORM的javaSpring启动应用程序。数据库是一个AzureSQL服务器。
我已经在供应商适配器配置上启用了setShowSql。
当我想查找对象时,我使用了TypeQuery的方法setFirstResult
和setMax结果
并调用getResultList
方法。
控制台中打印的查询不包含OFFSET和ROW FETCH子句,Hibernate似乎首先检索所有结果,然后对结果列表应用分页。
这显然会导致性能问题。
我哪里做错了?
下面我报告了我使用的示例代码。
query.setFirstResult(pageable.getOffset());
query.setMaxResults(pageable.getPageSize());
...
query.getResultList()
Hibernate唯一一次在SQLhtml" target="_blank">服务器方言下显式包含OFFSET
和FETCH
子句是在满足以下条件时:
SQLServer2012Dialect使用了一个定制的LimitHandler实现,称为SQLServer2012LimitHandler,您可以在这里看到它显式地处理这个用例,或者返回到旧的行为。
如果上述两个需求都得到了满足,但出于某种原因,逻辑仍然回到旧的行为,那么这就是一个bug。在这种情况下,您可能应该使用测试用例更新HHH-12152,以便我们可以修复它。
我需要你的帮助我是一个begineer在Spring启动,所以我有一个问题在Spring启动分页 存储库:
本文向大家介绍Bootstrap table分页问题汇总,包括了Bootstrap table分页问题汇总的使用技巧和注意事项,需要的朋友参考一下 首先非常感谢作者针对bootstrap table分页问题进行详细的整理,并分享给了大家,希望通过这篇文章可以帮助大家解决Bootstrap table分页的各种问题,谢谢大家的阅读。 问题1 :服务器端取不到form值,querystring没有问题
本文向大家介绍asp.net中的GridView分页问题,包括了asp.net中的GridView分页问题的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了asp.net中的GridView分页问题。分享给大家供大家参考。具体分析如下: 在ASP.NET中,经常会使用到GridView的分页,一般情况下,若使用Visual Studio自带的数据源控件,不会出现什么问题。 但是如果自己用代码
我使用分页与codeigniter,但每次我得到只有一个结果添加时,我改变页面。 让我们明确一点,在中,我有15个不同的结果,当我进入时,我会得到相同的结果,最后会有额外的新结果,当我进入时,我会得到与相同的结果,但最后会有额外的一个新结果。。。 我的代码(控制器): 我的看法是:
本文向大家介绍ASP.NET MVC分页问题解决,包括了ASP.NET MVC分页问题解决的使用技巧和注意事项,需要的朋友参考一下 在使用Ajax.Pager进行分页的时候需要注意一下几个方面: 1、一定要引入jquery.unobtrusive-ajax.min.js这个js; 2、一定要在页面中使用注册分页器,注册方法:@{Html.RegisterMvcPagerScriptReso
这是我的Liferay搜索容器代码: 问题是,当我更改分页或更改增量时,它会给我整个记录,而不是筛选记录。