由于oracle不支持order by语句被包含在单层子查询中,因此想在查询之前将order by 提出,然后在query.list()之后再加在最后,请问这一点如何在hibernate中实现,请高手帮忙,感激不尽!!在此语句之后:query.setFirstResult(getStartOfPage(start, pageSize));
query.setMaxResults(pageSize);
list = (List<Object>) query.list();

解决方案 »

  1.   

    没有看明白,不过我认为list()的时候hibernate已经执行了查询,应该是不能再order by了吧。为什么不在list之前设置order呢?
      

  2.   

    不用。已经在查询了,Hibernate会自动根据查询条件order by
      

  3.   

    因为我用的是oracle,在子查询里面有order by,但是通过hibernate的query.list后,他会把这个语句包起来作为一个子查询,
    也就是select * from (我的sql) where rownum < ? ,oracle是不支持子语句里有order by的,所以我想把它提出来,放在rownum后
      

  4.   

    我现在最关心的是怎么在主语句最后加上order by