setFirstResult 是起始数据,setMaxResults是查询显示的数据。
如果放在分页程序里边 setFirstResult的值应该是 (当前页面-1)X每页条数,setMaxResults 就是每页的条数了。
关于setMaxResults 和 setFetchSize 的区别:我的理解是
- setMaxResults 是用来配合数据库生成sql的,在sql里就控制查询的记录数目
- setFetchSize是控制查询结果的,可能sql已经查询出100条,但是hibernate只取前10条放到返回的List里。
-
public List getList
() throws HibernateException
{ -
Session session = HibernateUtil.currentSession();
-
Transaction tx = session.beginTransaction();
-
Query query = session.createQuery(
-
"from Table");
-
query.setFirstResult(0);
-
query.setMaxResults(10);
-
List list = query.
list();
-
tx.commit();
-
HibernateUtil.closeSession();
-
return list;
-
}
-
分享到:
相关推荐
`Criteria`中使用`setFirstResult()`和`setMaxResults()`,`Query`中使用`setFirstResult()`和`setMaxResults()`或`setFetchSize()`。例如: ```java Criteria criteria = session.createCriteria(YourEntity....
要实现分页,可以使用 `setFirstResult()` 和 `setMaxResults()` 方法。`setFirstResult()` 设置从哪一行开始获取结果,`setMaxResults()` 设置最多返回多少条结果。例如: ```java Criteria criteria = session....
这里,`setFirstResult()` 和 `setMaxResults()` 分别用于指定查询的起始位置(基于0)和每页的记录数。 如果你更倾向于使用HQL,可以这样实现: ```java Query query = session.createQuery("from User"); query....
Hibernate提供了一些内置的分页查询方法,如`setFirstResult()`和`setMaxResults()`。这两个方法分别对应于数据库查询的开始位置和结束位置。此外,还可以使用`Criteria`或`Query`对象的`setFetchSize()`方法来控制...
在Hibernate中,可以使用`Criteria`或`Query`对象的`setFirstResult()`和`setMaxResults()`方法;MyBatis则可以通过动态SQL或者分页插件实现。 三、通用分页组件 1. PageHelper:这是MyBatis的一个强大分页插件,它...
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()) {...
2. 分页查询:避免一次性加载大量数据,使用Criteria的setFirstResult()和setMaxResults()进行分页。 3.延迟加载:按需加载关联对象,减少内存占用。 八、高级特性 1. 集合关系:List、Set、Map等多种集合类型的...
具体而言,当使用`setFirstResult()`和`setMaxResults()`方法对查询结果集进行限制时,如果结果集被标记为只进(forward-only),则不支持这些操作,从而引发异常。这是因为只进结果集是为了提高性能而设计的,它...
HQL 提供了 `setFirstResult` 和 `setMaxResults` 方法来实现这一功能。 ```java Query query = session.createQuery("from Book"); query.setFirstResult(20); // 从第 21 条记录开始 query.setMaxResults(10); //...
- **批处理**: 可以通过设置`setFlushMode()`, `setFetchSize()`等优化批量插入、更新和删除性能。 **6. 分页和排序** - **分页查询**: 使用`setMaxResults()`和`setFirstResult()`方法实现分页。 - **排序查询**: ...