Hi
I think the best way to retrieve a pageable records is the following,
Code:
/**
*
* @param pageSize the total record in one page
* @param pageNumber the page number starts from 0
*/
public List<User> getAllByPage(final int pageSize, final int pageNumber) {
HibernateTemplate template = getHibernateTemplate();
return (List<User>) template.executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Query query = session.createQuery("from User");
query.setMaxResults(pageSize);
query.setFirstResult(pageSize * pageNumber);
return query.list();
}
});
}
This is also described in Hibernate reference document.