Query对象有setMaxResults(int size)方法。如取得学生表成绩前5名Query q = new Query("from Student order by score desc");
q.setMaxResults(5);
List<Student> list = q.list();

解决方案 »

  1.   

    谢谢4楼。
    我用的是SSH,那该怎么写?
      

  2.   

    可以用回调
    HibernateTemplate tem = getHibernateTemplate();
         return (List)tem.execute(new HibernateCallback(){
    public Object doInHibernate(Session session)
    throws HibernateException, SQLException {
    Query query = session.createQuery("from Student order by score desc");
    query.setMaxResults(5);
    return query.list();
    }});
      

  3.   

    由4楼的启发,
     你看可这个符不符合你的 要求,这个就是根据薪水进行排序,然后去最大的前五条
       public List query(){
             hibernateTemplate.setMaxResults(5);
      return hibernateTemplate.find("from Emp order by sal desc");
      }
      

  4.   


    HibernateTemplate tem = getHibernateTemplate(); 
        return (List)tem.execute(new HibernateCallback(){ 
    public Object doInHibernate(Session session) 
    throws HibernateException, SQLException { 
    Query query = session.createQuery("from Student order by score desc"); 
    query.setMaxResults(5); 
    return query.list(); 
    }});