from UserInfo u order by u.registerDate desc 
这样就可以了注意HQL中的 都是类名和属性名 

解决方案 »

  1.   

    先写一个公用方法:
    import org.hibernate.criterion.Order;
    import org.hibernate.criterion.DetachedCriteria;
    public PaginationSupport findPageByCriteria(
                  final DetachedCriteria detachedCriteria, 
         final int pageSize, 
                  final int startIndex,
                  final Order order) {
          return (PaginationSupport)run(
         new TransactionRunnable(){
    public Object run (Session s) {
    Criteria criteria = detachedCriteria.getExecutableCriteria(s);
    int totalCount = ((Integer) criteria.setProjection( Projections.rowCount()).uniqueResult()).intValue();
    criteria.setProjection(null);
    if(order!=null){
    criteria.addOrder(order);
    }
    List items = criteria.setFirstResult(startIndex).setMaxResults(pageSize).list();
    PaginationSupport ps = new PaginationSupport(items, totalCount, pageSize,startIndex);
    return ps;
    }
    }
    );
    }
    在Action中调用如下代码:
    import org.hibernate.criterion.Order;
    import org.hibernate.criterion.DetachedCriteria;
    调用上面的公共方法
    Order order = Order.desc(UserInfo.registerDate);DetachedCriteria detachedCriteria = DetachedCriteria.forClass(userDAO.getReferenceClass());PaginationSupport ps = findPageByCriteria(detachedCriteria, 20, (iPage-1)*20,order);
      

  2.   

    不就是SQL语句么,关Hibernate什么了?还是楼主要用Criteria来做?
      

  3.   

    qdzhouyan521 这方法好我喜欢,希望以后多多关照兄弟.
      

  4.   

    晕,前几天from UserInfo order by registerDate desc这么写不行
    现在又行了
    谢谢各位了!