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.  
 

你可能感兴趣的:(setMaxResults 和 setFetchSize)