Hibernate HQL与Native_SQL_查询_Query接口_iterate方法

调用iterate()方法执行HQL的查询之后,Hibernate返回符合HQL查询条件的包含所有对象的java.util.Iterator对象。iterate()方法与list()方法的最大区别是前者会充分利用Hibernate的一级和二级缓冲提高查询数据的性能。

示例:

public void testOrderQueryIterate(){
         Session session = null;
          Transaction tx = null;
          
          session = HibernateUtils.getCurrentSession();
          String hql = "from Guestbook";
          Query query = session.createQuery(hql);
         
          Iterator<Guestbook> it = query.iterate();
          HibernateUtils.closeSession(session);
         System.out.println("-----------------查询结果----------------");
         int i = 0;
         while(it.hasNext()){
           Guestbook g = (Guestbook) it.next();
           System.out.println("-----------第"+i+"条结果的信息-------------");
           System.out.println(g.toString());
           i++;
         }
    }

你可能感兴趣的:(sql,HQL,Hibernate,query,native)