public List search(String search,final int pageNo,final int pageSize,final Object object,final String orderBy,final String orderByCol){
if("roster".equals(search)){
final Roster roster=(Roster)object;
return super.getHibernateTemplate().executeFind(
new HibernateCallback(){
public Object doInHibernate(Session s)throws HibernateException{
/*使用hql
String hql="from Roster roster order by roster.rosterId asc";
Query query=s.createQuery(hql);
int firstResultIndex=pageSize*(pageNo-1);
query.setFirstResult(firstResultIndex);
query.setMaxResults(pageSize);
List list=query.list();
return list;
*/
Criteria c=s.createCriteria(Roster.class);
if(null!=roster){
if(null!=roster.getName()&&!roster.getName().equals("")){
c.add(Restrictions.like("name", roster.getName(),MatchMode.ANYWHERE));
}
}
if("asc".equals(orderBy)){
c.addOrder(Order.asc(orderByCol));
}else if("desc".equals(orderBy)){
c.addOrder(Order.desc(orderByCol));
}
int firstResultIndex=pageSize*(pageNo-1);
c.setFirstResult(firstResultIndex);
c.setMaxResults(pageSize);
return c.list();
}
});
}
return null;
}
我想做到。。分页然后只用当前页的数据进行排序但是上面的这个只能满足。。先排序后top

解决方案 »

  1.   

    用显示插件吧 比如eXtremeExport
    你可以在页面知道一页几条。
    也能随便对显示出来的数据,根据任意一列排序。就是点一下名字,或者其它属性可以直接排序的
      

  2.   

    顶一下,不过我还是喜欢HQL……
      

  3.   

    不知道 java.util.Collections.sort(List list) 能不能符合楼主的要求
      

  4.   

    LZ要的是先取出特定位置的数据然后再对数据进行按照要求的排序好像critera还没有这种功能噢   可以按楼上的集合排序