hibernate分页,如何先排序在取数据?从第10条取100条
setFirstResult(10);   
setMaxResults(100);

解决方案 »

  1.   

    createQuery("select o from xxx o order by o.name").setFirstResult(10)
      

  2.   

    String queryString="select 结果字段 from 目标表  order by 排序字段 ASC(升序)或者DESC(降序)";
    Query queryObject=getSession().createQuery(queryString);
    queryObject.setFirstResult(10);
    queryObject.setMaxResults(100);
      

  3.   

    如果是整合后的SSH,用spring去管理,那么怎么去用hibernate的分页呢?
      

  4.   

    spring有个hibernateTemplate可以实现。
      

  5.   

    给楼主一个我们项目中用到的一个分页查询数据方法,用到了ID排序,可以借鉴!public List<Requirement> listRequirementForPage(final String deptId, final Long[] status, final Date fromDate, final Date toDate, final int pageNo, final int pageSize) {
    return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(final Session session)
    throws HibernateException, SQLException {
    Criteria criteria = session.createCriteria(Requirement.class);
    if (deptId!=null && !"".equals(deptId)) {
    criteria.createCriteria("assignor").createCriteria("xtDept").add(Restrictions.eq("deptId", deptId));
    }
    if (status != null) {
    criteria.add(Restrictions.in("status", status));
    }
    if (fromDate!=null && toDate!=null) {
    criteria.add(Restrictions.between("noteDate", fromDate,
    toDate));
    }
    criteria.addOrder(Order.desc("id"));
    criteria.setFirstResult((pageNo-1)*pageSize);
    criteria.setMaxResults(pageSize);
    return criteria.list();
    }

    });
    }
      

  6.   

    我的空间里面正好有个用Hibernate分页的例子。可以参考参考