我想用hibernate在查询的时候只查询数据库中的前十条数据。不需要查询所有的数据,在写hql语句的时候应该怎么写呢?
麻烦高手指教下。
不走setFirstResult这些的方法,因为这样也是查了所有的数据,只是显示出来的不一样。
想要在写hql语句中解决这个问题。

解决方案 »

  1.   

    这个要看是什么数据库了吧
    如果是oracle的话,用rownum
    mysql的话,是limit
    SQLSERVER的话就用top吧
      

  2.   

    oracle使用 rowid
    mysql 使用 limit把这两个餐宿直接拼接在sql里。这样总可以了吧?
      

  3.   

    String sql="from UserBill order by seqid desc";
    Query query=session.createQuery(sql);
    query.setMaxResults(10);
      

  4.   

    这个我自己测试过了。原来还是用setFirstResult 和 setMaxResults这咱方式,运行的时候,看在myeclipse运行的打印出的sql语句,就能发现,里面有top字样。大家都懂了吧。嘿嘿,谢谢大家的回答。