`
esffor
  • 浏览: 1366350 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

setMaxResults 和 setFetchSize

阅读更多

setFirstResult 是起始数据,setMaxResults是查询显示的数据。

如果放在分页程序里边 setFirstResult的值应该是 (当前页面-1)X每页条数,setMaxResults 就是每页的条数了。

关于setMaxResults 和 setFetchSize 的区别:我的理解是

  • setMaxResults 是用来配合数据库生成sql的,在sql里就控制查询的记录数目
  • setFetchSize是控制查询结果的,可能sql已经查询出100条,但是hibernate只取前10条放到返回的List里。
  1.                public List getList() throws HibernateException {
  2.                                Session session = HibernateUtil.currentSession();
  3.                                Transaction tx = session.beginTransaction();
  4.                                Query query = session.createQuery(
  5.                                        "from Table");
  6.                                query.setFirstResult(0);
  7.                                query.setMaxResults(10);
  8.                                List list = query.list();
  9.                                tx.commit();
  10.                                HibernateUtil.closeSession();
  11.                                return list;
  12.                }
  13.  
 

分享到:
评论

相关推荐

    java Pagination(分页并操作)

    `Criteria`中使用`setFirstResult()`和`setMaxResults()`,`Query`中使用`setFirstResult()`和`setMaxResults()`或`setFetchSize()`。例如: ```java Criteria criteria = session.createCriteria(YourEntity....

    hibernate经典分页源代码

    要实现分页,可以使用 `setFirstResult()` 和 `setMaxResults()` 方法。`setFirstResult()` 设置从哪一行开始获取结果,`setMaxResults()` 设置最多返回多少条结果。例如: ```java Criteria criteria = session....

    hibernate中实现真分页和假分页技术

    这里,`setFirstResult()` 和 `setMaxResults()` 分别用于指定查询的起始位置(基于0)和每页的记录数。 如果你更倾向于使用HQL,可以这样实现: ```java Query query = session.createQuery("from User"); query....

    SSH分页组件

    Hibernate提供了一些内置的分页查询方法,如`setFirstResult()`和`setMaxResults()`。这两个方法分别对应于数据库查询的开始位置和结束位置。此外,还可以使用`Criteria`或`Query`对象的`setFetchSize()`方法来控制...

    Java 通用分页

    在Hibernate中,可以使用`Criteria`或`Query`对象的`setFirstResult()`和`setMaxResults()`方法;MyBatis则可以通过动态SQL或者分页插件实现。 三、通用分页组件 1. PageHelper:这是MyBatis的一个强大分页插件,它...

    ssh 分页代码(延迟加载)

    criteria.setFetchSize(page.getPageSize()); ScrollableResults results = criteria.scroll(ScrollMode.FORWARD_ONLY); List<T> list = new ArrayList(); for (int i = 0; i (); i++) { if (results.next()) {...

    达内培训hibernate电子教案

    2. 分页查询:避免一次性加载大量数据,使用Criteria的setFirstResult()和setMaxResults()进行分页。 3.延迟加载:按需加载关联对象,减少内存占用。 八、高级特性 1. 集合关系:List、Set、Map等多种集合类型的...

    com.microsoft.sqlserver.jdbc.SQLServerException: 只进结果集不支持请求的操作 解决方案

    具体而言,当使用`setFirstResult()`和`setMaxResults()`方法对查询结果集进行限制时,如果结果集被标记为只进(forward-only),则不支持这些操作,从而引发异常。这是因为只进结果集是为了提高性能而设计的,它...

    Hibernate Tutorial 09 Hibernate Query Language

    HQL 提供了 `setFirstResult` 和 `setMaxResults` 方法来实现这一功能。 ```java Query query = session.createQuery("from Book"); query.setFirstResult(20); // 从第 21 条记录开始 query.setMaxResults(10); //...

    JPAPractice_Inflearn

    - **批处理**: 可以通过设置`setFlushMode()`, `setFetchSize()`等优化批量插入、更新和删除性能。 **6. 分页和排序** - **分页查询**: 使用`setMaxResults()`和`setFirstResult()`方法实现分页。 - **排序查询**: ...

Global site tag (gtag.js) - Google Analytics