query.iterate()与query.list()的区别

Query query=this.GetSession().createQuery(hql);
query.iterate()与query.list()
效率是说query.iterate()比query.list()好,但做了N+1次查询
它们都是先从数据库的查询出主键值,然后根据主键值查询出对象,
只是query.iterate()会根据主键值先从缓存当中找,若没有就从数据库查询
query.list()会根据主键值在数据库查询(N+1)

你可能感兴趣的:(iterate)