package com.bee.common.hibernate.callback; import java.sql.SQLException; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.HibernateCallback; /** * 分页查询 * * @author Bee * * @param <T> */ public class PagingHibernateCallback<T> implements HibernateCallback<T> { String hql; int first; int length; public PagingHibernateCallback(String hql, int first, int length) { this.hql = hql; this.first = first; this.length = length; } @SuppressWarnings("unchecked") public T doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hql); query.setFirstResult(first); query.setMaxResults(length); return (T) query.list(); } }