`

Hibernate里面如何用Criteria 查询记录数

 
阅读更多

【问题描述】在工作中,有一个比较复杂的feature使用的是Hibernate的Criteria实现的查询,但是PM要求在查询数据前,先告知用户有多少条巨鹿,让用户去选择返回多少条记录。

【解决办法】使用Projections.count("property") 或者 Projections.rowCount()



查看Hibernate生成的query是:



备注:有些朋友可能使用的是c.list.size().返回的记录数,其实这样的话,hibernate是从数据库里面把所有满足条件的记录查询出来放到一个list里面,然后再用list的length返回长度。这样不是此需求的初衷。因为这样会消耗性能。。。并且在数据过多的情况下面,会造成tomcat的OutOFMemory错误

分享到:
评论

相关推荐

    hibernate-release-5.4.25.Final_Hibernate5.4.25_hibernate所需jar包_源

    2. 查询:使用Query或Criteria API,支持复杂条件、分页、排序等查询,甚至可以执行动态SQL。 3. 支持事务:Hibernate内置了对JTA和JTASessionContext的支持,方便在分布式环境中进行事务管理。 4. 第二级缓存:通过...

    hibernate中文参考文档

    在Java世界里,Hibernate是一款广受欢迎的对象关系映射(ORM)框架,它极大地简化了数据库操作,让开发者可以使用面向对象的方式来处理数据。本篇文档将深入探讨Hibernate的核心概念、功能以及如何在实际项目中有效...

    hibernate帮助文档

    4. ** Criteria 查询**:除了HQL,Hibernate还提供了Criteria API,允许动态构建查询条件,减少了硬编码,提高了代码的灵活性。 5. **缓存机制**:Hibernate集成了二级缓存,通过缓存中间结果,减少了对数据库的...

    springMVC+spring+ hibernate查询

    Hibernate 提供了 Criteria、HQL(Hibernate 查询语言)等方式进行复杂的数据库查询,减少了直接编写 SQL 的工作量。 在这个项目中,描述提到“只做了查询,sql在doc里面”,这意味着开发人员可能已经编写了 SQL ...

    Java+Persistence+with+Hibernate

    5. Querying:Hibernate提供HQL(Hibernate Query Language)和Criteria API进行查询,它们是面向对象的查询语言,可以更直观地表达查询需求。 四、Hibernate配置 配置Hibernate涉及多个方面,包括数据库连接信息、...

    hibernate shards中文文档

    - **条件查询**:提供了基于条件的查询示例,如通过特定字段值筛选记录。 ##### 5.3 HQL - **HQL支持**:说明了如何使用Hibernate Query Language (HQL)来执行查询操作。 ##### 5.4 查询时使用分片策略 (Shard ...

    精通Hibernate:Java对象持久化技术详解

    Hibernate是Java世界里的重要工具,它简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的数据访问细节。 在Java应用开发中,对象持久化是一个关键环节,它涉及将程序中的对象状态存储到持久化介质...

    Struts2 + Hibernate3 分页程序

    - 调用Service层的方法,这个方法里使用Hibernate的Criteria或HQL来执行分页查询。 - Service层方法返回一个包含分页信息的对象,如PageBean,这个对象不仅包含数据列表,还可能包含总记录数、总页数等信息。 - ...

    自己用hibernate3做的一个简单小例子

    6. **Criteria查询和Query API:** 除了HQL,Hibernate还提供了Criteria API和Query API来进行动态查询,更灵活地构建查询条件。 7. **Java EE相关:** 在企业级应用中,Hibernate通常与Servlet、JSP、EJB等组件...

    HibernateDemo.zip

    7. **Criteria查询**或**HQL(Hibernate Query Language)**:两种在Hibernate中进行数据库查询的方式,Criteria提供API方式的查询,HQL则是面向对象的查询语言,类似于SQL。 8. **第一级缓存与第二级缓存**:...

    hibernate所需jar包(内有mysql所需Jar)

    4. Commons Logging:Hibernate使用Apache Commons Logging进行日志记录,如`commons-logging-x.x.jar`,它提供了一个可插拔的日志框架,可以根据项目需求选择不同的日志实现。 5. JBoss Logging:在某些版本的...

    hibernate-jpa-2.1-api-1.0.0.Final.jar

    在Java世界里,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而Hibernate对Java Persistence API (JPA) 的支持,使得开发者能够以更加面向对象的方式处理数据。本文将深入探讨`...

    java用hibernate连接anywhere

    6. **查询操作**:使用`Query`或`Criteria`接口进行查询,返回结果集,然后遍历处理。 通过以上步骤,你就可以在MyEclipse中利用Hibernate 3.1连接到任何地方的数据库了。注意,实际应用中还需要考虑事务管理、异常...

    hibernate需要的包

    在Java世界里,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以用Java对象的方式来处理数据。本篇将详细阐述Hibernate框架以及在学习和应用Hibernate时所需的jar包。 ...

    strute+hibernate写的一个分页

    在Hibernate中,我们可以使用Criteria API或者HQL(Hibernate Query Language)来构造带有分页条件的查询。在描述中提到的“调用方法时只需传一个sql”,可能是将用户提供的基础SQL语句与分页参数结合,生成带有分页...

    struts和hibernate实现的jsp分页里面有分页工具

    1. **数据库查询**:使用Hibernate的Criteria或HQL(Hibernate Query Language)进行分页查询。你需要指定开始位置(当前页数乘以每页条目数)和结束位置(开始位置加上每页条目数),以获取正确的数据子集。 2. **...

    Struts+Hibernate+分页

    1. 在Action类中,根据用户请求的页码和每页记录数,计算出要查询的数据范围。 2. 使用Hibernate的Criteria或HQL查询,添加限制条件来获取指定范围的数据。 3. 将结果集传递给视图层,视图通常使用JSP或Freemarker等...

    hibernate-distribution 3.3.2+annotation3.4.0+slf4j-1.5.8.rar )

    在Java世界里,Hibernate作为一款优秀的对象关系映射(ORM)框架,极大地简化了数据库操作。Hibernate 3.3.2是其历史版本中的一个重要里程碑,它在功能和性能上都得到了良好的优化。配合Annotation 3.4.0,我们可以...

    Struts2+Hibernate+Spring+自选语言

    Hibernate通过配置文件定义了实体类与数据库表的映射关系,提供了一套完整的数据查询和更新API,包括HQL(Hibernate Query Language)和Criteria API,使得数据库操作更加便捷和高效。 **Spring** 框架是Java企业级...

Global site tag (gtag.js) - Google Analytics