hibernate 的 DetachedCriteria 如何进行分页?

如果使用getCurrentSession和criteria可以这样进行分页,限制结果集;

Session session=getHibernateTemplate().getSessionFactory().getCurrentSession();
Criteria criteria=session.createCriteria(User.class);
List list=criteria.setFirstResult(10).setMaxResults(59).list();

可是如果使用DetachedCriteria 的话DetachedCriteria 没有setFirstResult和setMaxResults方法,应该如何进行分页?

这样挺好的,怎么麻烦了,设置一下开始的和最大就行了

public List findByPage(final DetachedCriteria detachedCriteria,final int currentPage, final int maxRow) {
try
{

return getHibernateTemplate().executeFind(new HibernateCallback()
{
public Object doInHibernate(Session session) throws SQLException, HibernateException {
Criteria criteria = detachedCriteria.getExecutableCriteria(session);
criteria.setFirstResult((currentPage - 1) * maxRow);
criteria.setMaxResults(maxRow);
return criteria.list();
}
});
}
catch (RuntimeException re)
{

throw re;

}

}

    这是我从网上找到的办法,但是感觉好麻烦啊,只能这样么?