hibernate怎么实现条件分页
展开全部
使用了hibernateTemplate和泛型,这是我封装的一个通用操作。
public <T> List<T> list(Class<T> entityClass, final int start, final int limit,String params)
{
String entityName=this.getEntityName(entityClass);
final String sqlStr="from "+entityName+" t "+params;
return this.hibernateTemplate.executeFind(new HibernateCallback<List<T>>(){
public List<T> doInHibernate(Session session)throws HibernateException {
Query query = session.createQuery(sqlStr);
query.setFirstResult(start);
query.setMaxResults(limit);
return query.list();
}
});
}
如果再结合hibernate QBC做一下封装会更好,
public <T> List<T> list(Class<T> entityClass, final int start, final int limit,String params)
{
String entityName=this.getEntityName(entityClass);
final String sqlStr="from "+entityName+" t "+params;
return this.hibernateTemplate.executeFind(new HibernateCallback<List<T>>(){
public List<T> doInHibernate(Session session)throws HibernateException {
Query query = session.createQuery(sqlStr);
query.setFirstResult(start);
query.setMaxResults(limit);
return query.list();
}
});
}
如果再结合hibernate QBC做一下封装会更好,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询