List list = getHibernateTemplate()
.executeFind(new HibernateCallback()
{
//实现HibernateCallback接口必须实现的方法
public Object doInHibernate(Session session)
throws HibernateException, SQLException
{
//执行Hibernate分页查询
List result = session.createQuery(hql)
.setFirstResult(offset)
.setMaxResults(pageSize)
.list();
return result;
}
});
return list;这是源码,offset 不起作用,只有pageSize起作用。。,当offset=4,pageSize=6,的时候,返回6条记录

解决方案 »

  1.   


    不应该。你的sql如何写的?
      

  2.   

    我操楼主发现还是setFirstResult(offset)不起作用
      

  3.   

    findByPage("from User u where username='"+username+"'",offset,pageSize);
    快疯了,为什么不起作用啊
      

  4.   

    你把sql打印出来,看看生成的sql是否是正确的分页语句。另外,findByPage("from User u where username='"+username+"'",offset,pageSize);改为findByPage("from User u where i.username='"+username+"'",offset,pageSize);
      

  5.   

    .setFirstResult(offset)
    .setMaxResults(pageSize)
    当offset=4,pageSize=6,的时候,返回6条记录本来就是应该返回六条数据嘛、从第五条开始,到11条结束,一共查询六条