Hibernate - list()和iterate()的区别

时间:2022-02-11 19:31:09

list()和iterate()都可以用来获得Query取得的HQL结果
list()使用的是即时加载。查询时会之前去数据库查询HQL并将所有结果存在缓存中。
iterate()使用的是延时加载。查询时只会将对象的OID存在缓存中,需要用时,如果只需要OID,直接在缓存中去取,如果需要其他信息,会先在缓存中读取,如果没有,再去数据库查询。