hibernate中limit实现方法

Hibernate中的MySQL分页查询技术指南 Hibernate Criteria API为开发者提供了一种面向对象的方式来构建和执行数据库查询。与直接使用原生SQL语句相比,Criteria API的好处在于它能够提供一个更安全和更灵活的查询机制。它支持运行时的查询动态构建,使得代码更加清晰,并且减少了因拼写错误或语法错误而引起的问题。该API特别适用于那些复杂查询条件较多、需要频繁修改查询逻辑以及需要更好的类型安全的场景。 阅读详情

转:http://zisetoufa.iteye.com/blog/1753029

折腾了半天,原来是hibernate不支持limit,还有有能实现的方法: 

Java代码  收藏代码
  1. public List<IpSource> getIpList(final int count) {  
  2.         final String sql = "from IpSource order by crtTm desc";  
  3.         return this .getHibernateTemplate().executeFind( new  HibernateCallback() {     
  4.              public  Object doInHibernate(Session session)     
  5.              throws  HibernateException, SQLException {     
  6.                  return  session.createQuery(sql).setMaxResults(count).list();     
  7.               }     
  8.         });    
  9.     }  



Java代码  收藏代码
  1.  try{    
  2. 10.    
  3. 11.           final String hql = "form KnowledgeExpertArticle as model where model.'"+keyName+"' like '%"+value+"%' order by model.expertArticleId DESC";    
  4. 12.    
  5. 13.           log.info(hql);    
  6. 14.    
  7. 15.           List resultList = getHibernateTemplate().executeFind(    
  8. 16.    
  9. 17.              new HibernateCallback() {    
  10. 18.    
  11. 19.                  public Object doInHibernate(Session arg0)    
  12. 20.    
  13. 21.                         throws HibernateException, SQLException {    
  14. 22.    
  15. 23.                     Query query = arg0.createQuery(hql);    
  16. 24.    
  17. 25.                     query.setFirstResult(start);    
  18. 26.    
  19. 27.                     query.setMaxResults(limit);    
  20. 28.    
  21. 29.                     return query.list();    
  22. 30.    
  23. 31.                  }    
  24. 32.    
  25. 33.     
  26. 34.    
  27. 35.              });    
  28. 36.    
  29. 37.           return resultList;    
  30. 38.    
  31. 39.               
  32. 40.    
  33. 41.       }catch(RuntimeException re){    
  34. 42.    
  35. 43.           throw re;    
  36. 44.    
  37. 45.       }   

SpringBoot与Flowable整合:构建高效审批工作流的实战指南 本文是一份SpringBoot与Flowable整合构建高效审批工作流的实战指南。通过一个经典的二级审批场景,详细介绍了从项目搭建、BPMN流程设计、核心服务编写到RESTful API构建的完整步骤。文章深入探讨了如何利用Flowable工作流引擎实现审批流程的自动化驱动与灵活管理,并分享了变量管理、监听器、异步执行等进阶技巧与常见避坑指南,帮助开发者快速构建健壮、可维护的企业级审批系统。 阅读详情

相关推荐

PCI-Express、MiniPCIe、ExpressCard接口转换说明/引脚互换关系

通过引脚PIN互换可以在PCI-Express、MiniPCIe、ExpressCard之间切换不同的接口;提供接口引脚表和标准尺寸图。

tech34的博客 7125

Hibernate 限制查询数目,解决 limit 在 hql 中不能使用的问题

  在Hibernate中,使用的是hql语句,但是hql并不如sql那么灵活,比如在hql语句中,不能使用limit来限制查询的条数。 例如: FROM user limit 1   这样查出来的数目不是1条,而是查询出来的条数,所以上面的写法是错误的。   那怎么才能解决这个问题呢?   在 Hibernate 中,setMaxResults(e) 可以指定查询的条数,而 setFirst...

琪丶琪的博客 4129

一分钟理解 AP(Affinity Propagation) 亲和⼒传播算法

这篇博客发出来后,我用 Rust 复现代码出现问题。为此,我对对照了 sklearn 的相关代码,反复比较了两天,发现一处 bug,把 += 误写成了 =,导致数据量大的时候完全无法聚类。这个debug过程让我仔细梳理的 AP 算法的计算过程,今天我对这篇博客做了大规模修改,以便能原样展现原论文思想。

程序猿视角 3219

Hibernate实现limit语句效果

limit效果一般需要有两个参数:开始位置start和查询数量num。两个参数都是final int型。由于hql语句内无法直接书写limit语法,所以需要通过别的方式来达成这个效果。对于实现过程中的两个相关方法,截取其源码贴在下方,也可以自行查看。hibernate实现limit效果。

justlpf的专栏 518

FISCO-BCOS配置及使用控制台

如果因为网络问题长时间无法下载,请尝试:curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh。为了可以更加方便快捷,所以HelloWorld合约已经被内置了,位于控制台下面的contracts/solidity/HelloWorld.sol。用于获取和设置name的值,合约代码如下。部署成功会返回合约地址。

qq_51562644的博客 832

3.1 计算机视觉的发展和卷积神经网络概要(百度架构师手把手带你零基础实践深度学习原版笔记系列)

3.1 计算机视觉的发展和卷积神经网络(百度架构师手把手带你零基础实践深度学习原版笔记系列) 概要 计算机视觉作为一门让机器学会如何去“看”的科学学科,具体的说,就是让机器去识别摄像机拍摄的图片或视频中的物体,检测出物体所在的位置,并对目标物体进行跟踪,从而理解并描述出图片或视频里的场景和故事,以此来模拟人脑视觉系统。因此,计算机视觉也通常被叫做机器视觉,其目的是建立能够从图像或者视频中“感知”信息的人工系统。 计算机视觉技术经过几十年的发展,已经在交通(车牌识别、道路违章抓拍)、安防(人脸闸机.

aiAI 691

Hibernate实现limit查询方法

Hibernate实现sql中的limit的方法也很简单,原理是创建一个查询之后,给当前查询添加start和limit两个参数,之后执行查询即可。代码如下所示。 public List findKnowledgeExpertArticleForSearch( String keyName, Object value,final int start,final int limi

Kevinzhangfei的专栏 2万+

【编译原理】龙书第三章作业答案

【编译原理】龙书第三章作业答案 练习3.1.1:根据3.1.2节中的讨论,将下面的C++程序划分成正确的词素序列。哪些词素应该有相关联的词法值?应该具有什么值? 答案: 左列为词素,右列为值,划分如下: < float> 值为它本身 <id,limitedSquare> 值为*limitedSquare指针 <(> 标点符号无值 ...

作业报告杂物间 2万+

mysql limit hibernate_Hibernate实现mysql数据库limit查询方法

public List findKnowledgeExpertArticleForSearch(String keyName, Object value,final int start,final int limit) {//log.debug("search knowledgeExpertArticle by :"+value);try{final String hql = "form Know...

weixin_39687192的博客 189

多模态RAG实战:为LLM装上视觉之眼,实现图文混合文档智能问答

检索增强生成(RAG)技术通过结合外部知识库,有效缓解了大语言模型(LLM)的幻觉问题,并扩展了其知识边界。其核心原理是将文档切分、向量化后存入向量数据库,在问答时通过语义检索召回相关上下文,辅助LLM生成更精准的答案。这项技术的核心价值在于,它为大模型应用提供了一种低成本、高效率的知识注入与实时更新方案,广泛应用于智能客服、知识库问答、文档分析等场景。随着应用深入,纯文本RAG在处理产品手册、学术论文、设计图纸等富含视觉信息的文档时面临瓶颈。本文聚焦的**多模态RAG**和**视觉理解**技术,正是为了解

weixin_30698527的博客 723

UR机械臂正逆运动学解析:从DH参数到8组解的完整求解策略

本文深入解析UR机械臂的正逆运动学求解策略,从DH参数原理到完整的8组解求解方法。详细介绍了正运动学的坐标变换过程,以及逆运动学中Atan2函数和三角恒等变换的应用,并揭示了8组解的产生机制。通过实际案例和调试技巧,帮助工程师掌握UR机械臂运动学求解的核心技术。

weixin_29094775的博客 414

Hibernate实现mysql数据库limit查询方法

public List findKnowledgeExpertArticleForSearch( String keyName, Object value,final int start,final int limit) { // log.debug("search knowledgeExpertArticle by :"+value)

黑鹰 1328

相机图像质量评估标准全解析:MTF、CA、SNR 与色彩偏差的实战理解

图像质量评估是影像系统开发中的核心环节,它直接影响用户视觉体验与终端产品竞争力。本文基于真实的图像调试工程实践,系统讲解主流图像评价指标,包括调制传递函数(MTF)、色差(CA)、信噪比(SNR)与色彩偏差(DeltaE)等关键标准。结合 Imatest 测试流程与实际样张数据,逐项拆解各项指标在实际图像分析中的意义与优化路径,帮助开发者建立完整、量化、工程化的图像质量评估体系。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 2806

使用hibernate实现mysql中limit的查询

给大家分享个知识点,hibernate 的hql不支持limit的使用。以后大家如果有限制查询从第几条至第几条时。就用          List investments = new ArrayList();         Session session = this.getSession();         String hql = "from SiteInve

gtlishujie的博客 3466

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Hibernate 限制查询数目,解决Limit在hql不能使用问题

在hql语句中,不能使用limit来限制显示的条数。 例如: FROM user_info order by createdTime desc limit 1 显示的数目不是1条,而是你查询出来的条数,所以上述写法是错误的。 如何解决limit在hql中不能使用,并设置查询出来集合的数目,我们应该使用query.setMaxResults(e);方法来解决。 以下是使用Hibernate

小小布的程序世界 3万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Oracle MySql以及Hibernate实现分页

1.  Oracle Oracle通过ROWNUM实现分页,注意有三层select,end表示结束行 start表示开始行,具体代码如下: SELECT * FROM (          SELECT ROWNUM RN, A.* FROM (                    SELECT* FROM table d WHERE 1=1 ) A                

y_dzaichirou的博客 1213

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Hibernate实现limit查询报错 unexpected token: ? near line 1, column 30 [from cn.com.bean.Layer limit ? ,

报错背景 ssh框架做后台接口 hibernate使用limit实现分页 报错信息    错误原因 hibernate无法识别limit,sql语句更不能这样写String sqls = "from Layer limit ? , ?"; 解决方案 设置一个从第几条开始取,另一个是取的...

梁同学与Android 1264

jmesa之limit

Jmesa默认的方式是对所有的数据进行排序与过滤,如果数据太多,对性能肯定会造成影响,这是每个分页都必须处理的问题。Jmesa通过Limit来完成从数据库提取部分数据的中转操作。 见下面代码: [code="java"] private void addItems(TableFacade tableFacade) { Limit limit = tableFacade.getLim...

qiuqiuit的专栏 178

QuerySyntaxException unexpected token: limit JPA分页分页查询

第一次写java,总结了一点经验我以为分页是直接写sql语句,然后执行sql语句,但是 抛出QuerySyntaxException unexpected token: limit错误,然后百度发现,JPQL里面没有limit的,使用Hibernate的setFirstResult,setMaxResults实现数据库分页 ,列如query.setFirstResult(0),query.setM...

ljwaheng的博客 1710

hibernate分页

另外,分页,hibernate有了相应的包装,不需要你进行这样的sql构造: sql=hsql+ " limit " + (pageNo-1)*page_size + "," +page_size; 

xwchen的专栏 649

ET Limit方式的分页查询

1.Limit 默认的情况下eXtremeTable取得所有的结果集然后处理Beans集合,这样的好处是 你可以随意进行排序、过滤和分页操作。 你只需要组装Beans集合并让eXtremeTable知道如何 然而在查询结果较大,可以考虑使用数据库端分页的方案。此时,eXtremeTable 会使用Limit对象向Action/Controller传递PageNo,PageSize,Or...

前前 248

mysql hibernate 分页查询_Hibernate框架数据分页技术实例分析

本文实例讲述了Hibernate框架数据分页技术。分享给大家供大家参考,具体如下:1.数据分页机制基本思想:(1)确定记录跨度,即确定每页显示的记录条数,可根据实际情况而定。(2)获取记录总数,即获取要显示在页面中的总记录数,其目的是根据该数来确定总的分布数。(3)确定分页后的总页数。可根据公式:“总页数=(总记录数 - 1) / 每页显示的记录数 + 1”。(4)根据当前页数显示数据。如果该页数...

weixin_36290719的博客 431

mysql hibernate 分页_【整理】Hibernate分页原理简单分析

【背景说明】面试时曾被问得不知所以然,故收集整理之。通常使用的Hibernate查询是三种:hql查询,QBC查询和QBE查询。1、QBE(Qurey By Example)检索方式QBE是最简单的,但是功能也是最弱的,QBE的功能不是特别强大,仅在某些场合下有用。一个典型的使用场合就是在查询窗口中让用户输入一系列的查询条件,然后返回匹配的对象。QBE只支持=和like比较运算符,无法不大区间值,...

weixin_39835117的博客 254

mysql oracle Hibernate 的分页

Oracle Oracle通过ROWNUM实现分页,注意有三层select,end表示结束行 start表示开始行,具体代码如下:SELECT * FROM ( SELECT ROWNUM RN, A.* FROM ( SELECT* FROM table d WHERE 1=1 ) A WHERE ROWNUM <=end ) B

杨恒的博客 519
上一篇: hibernate 中日期的比较
下一篇: hibernate的一些用法
lcathm
博客等级 码龄18年 37粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值