Hibernate does load the entire result set before you get the iterator. In addition to Ferozz's input you can also get an iterator like this:
Code:
Query q = session.createQuery("from X x where x.name like :name");
q.setString("name",name);
Iterator i = q.iterate();
This however only returns the ids and not the entire object until you iterate, then a select is generated to retrieve all the columns. In certain circumstances this can be a good optimization (as usually optimization is associated with minimal row return).
Could you and Ferozz look at something that I posted that no one has replied to and let me know what you guys think
http://forum.hibernate.org/viewtopic.php?t=986008