用hql开发的时候碰到个问题:
   我想在数据里查询姓名等于张三的最后一条记录,由于数据库以后可能会有很多记录,所以查询的时候不能用order by desc进行降序处理,该怎么查啊???

解决方案 »

  1.   

    谁说记录多了就不能order by。。
      

  2.   

    你的最后是怎么分的啊?日期最后还是怎么着?安什么分的,就按什么方式 order by desc 获取首条
      

  3.   

    1300W的数据 order by 不到1秒钟。
    如果只要最后一条  那么在 最后加一个  limit 1 就可以了
      

  4.   

    4\5楼的兄弟说得对,如果是mysql的话用limit ,sqlserver、access的话用top
      

  5.   


    用HQL跟用SQL基本一样的 
    1.使用org.hibernate.Criteriacriteria.addOrder(Order.desc("id"));//根据什么进行排序
    criteria.setMaxResults(1);//设置最大记录数2.使用QueryString hql = "from Entity order by id desc"; //HQL语句里写排序
    Query query = session.createQuery(hql);
    query.setMaxResults(1);//设置最大记录数 也可以在HQL里写SQL函数来实现