- iterate()方法
Hibernate Iterator的查询本身是分为两步的:存在N+1问题
==> select id from cat //一条
==> select * from cat where id = ? //n条
解析:第一步,去数据库中取主键列表,第二步,按照主键一个一个取数据,那么从数据库中取出n条记录就需要n+1次sql查询。所以iterate()方法是延迟查询的,并支持缓存。 - list()方法
Hibernate List方式是JDBC的简单封装,一次sql就把所有的数据都取出来了
==> select * from cat
解析:list()方法不使用缓存,立即查询,返回查询目标对象。
hibernate查询的list和iterate的区别
最新推荐文章于 2024-09-29 19:21:13 发布