为什么要用native sql呢?这样你的程序移植性不就不够了吗?
考虑
Query q = session.createQuery("from table as t"); 
q.setFirstResult(8); 
q.setMaxResults(7); 
List l = q.list();

解决方案 »

  1.   

    String hql = "select {u.*} from User as u limit 1,3";
    Query query =  session.createSQLQuery(hql).addEntity("u",User.class);

    List list  = query.list();
    System.out.println(list.size());
    Iterator it = query.list().iterator();
    while(it.hasNext()){
    User user = (User) it.next();
    System.out.println(user.getUserName());
    }
      

  2.   

    我的代码是这样写的
    Iterator Result = session.createCriteria(C_T_News.class)
                                  .addOrder(Order.desc("id"))
                                  .setFirstResult(1)
                                  .setMaxResults(8)
                                  .list().iterator();
    可最后用ANT编译测试的时候不能通过
    它构造出来的SQL语句是这样的:
    ==================================================================
    select limit ? ? this_.ID as ID0_0_, this_.SORT as SORT0_
    0_, this_.ISONTOP as ISONTOP0_0_, this_.TITLE as TITLE0_0_, this_.CONTENT as CON
    TENT0_0_, this_.AUTHOR as AUTHOR0_0_, this_.VIEWNUM as VIEWNUM0_0_, this_.ADD_DA
    TE as ADD8_0_0_ from NEWS this_ order by this_.ID desc
    ==================================================================
    我就搞不明白,limit 为什么会出现在 select 后面
    按道理应该出现在 order  by this_.ID desc 后面才对我这里是哪里写错了?
      

  3.   

    里面有对应关系吗?比如一对多. 如果要在一方进行查询,并且要查询到多方的内容,最好用hql,用join关键字,然后就可以用
       .setFirstResult(1)
       .setMaxResults(8)
    来控制分页了.
     否则,需要手工来控制
      

  4.   

    回 djy1135(晨阳)里面没有一对多的关系
    就只是一个单表 NEWS
    这是怎么回事呢
    难道它不支持 MySql?
      

  5.   

    那ypchina(无崖子)回答的就是正确的!!!
      

  6.   

    Hibernate是支持MySQL的分页的,你可能在配置文件中的Dialect是错误的吧
      

  7.   

    晕死,刚无意中发现原来是我的配置文件没有设置好
    <!-- SQL dialect -->
    <property name="dialect">org.hibernate.dialect.HSQLDialect</property>这个还是默认的,根本不是MYSQL的把它改成
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>就解决了,走了这么多弯路
      

  8.   

    不好意思  ChDw(米)页面没有刷新就给分了
    没有见到你的回复
    你的回复是正确的
    见谅,见谅