this.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query q = session.createQuery("from User where login=:name")
.setParameter("name", "zhangsan");
q.setFirstResult(从第条开始);
q.setMaxResults(返回最大值);
return q.list();
}
});

解决方案 »

  1.   


    this.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) 
    throws HibernateException, SQLException { 
    Query q = session.createQuery("from User where login=:name") 
    .setParameter("name", "zhangsan"); 
    q.setFirstResult(从第条开始); 
    q.setMaxResults(返回最大值); 
    return q.list(); 

    });
      

  2.   

    我自己还没有到那(现刚STRUTS),先帮你顶下!!!
      

  3.   

    this.getHibernateTemplate().executeFind(new HibernateCallback() 之前也这么用,但是被client骂了,说这样的效率很低
    一般使用Query queryObj = this.getSession().createQuery("");
           queryObj.setFirstResult();
      

  4.   

                    Transaction tx=null;
                    List list=new ArrayList();
    Session session=this.getSession();
    try {
    tx=session.beginTransaction();
    Query q= session.createQuery(HQL语句);
    q.setFirstResult(起始数据);
    q.setMaxResults(往后查几条);
    list =q.list();
    tx.commit();
    }catch(Exception e){
    e.printStackTrace();
    tx.rollback();
    }finally{
    session.close();
    }
                    return list;
    用this.getHibernateTemplate().executeFind(new HibernateCallback() 效率的确很低的,没必要用...
      

  5.   

    一般分页我都不用getHibernateTemplate()的...
      

  6.   

    你看下API  看下他的方法   你说的应该是分页吧   .setFirstResult()    .setMaxResult()    
      

  7.   

    我用这个方法可以取的,没有那么复杂啊。
    myList = this.getHibernateTemplate().find("from MyTable order by status,endtime,id ASC").subList(0,n);
      

  8.   


    先设置返回的最大记录数:this.getHibernateTemplate().setMaxResults(9);
    在return this.getHibernateTemplate().find("from Goods");