为了账号安全,请及时绑定邮箱和手机立即绑定

不是前面讲query.list没有缓存操作吗? 为什么后面加上iterater迭代的时候却是有缓存

不是前面讲query.list没有缓存操作吗? 为什么后面加上iterater迭代的时候却是有缓存

正在回答

2 回答

我已经找到了

  1. 返回的类型不同:
    list()返回List;iterate()返回Iterate。

  2. 查询策略不同:
    list()直接发送sql语句,查询数据库;
    iterate()发送sql语句,从数据库取出id,然后先从缓存中根据id查找对应信息,
    有就返回结果,没有就根据id发送sql语句,查询数据库。

  3. 返回对象不同:
    list()返回持久化实体类对象;
    iterate()返回代理对象。

  4. 与缓存的关系不同:
    list()只缓存,但不使用缓存(查询缓存除外);
    iterate()会使用缓存。


2 回复 有任何疑惑可以回复我~

迭代查询是延迟加载

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Hibernate缓存策略
  • 参与学习       28774    人
  • 解答问题       29    个

本教程主要介绍Hibernate中缓存的原理、分类和使用

进入课程

不是前面讲query.list没有缓存操作吗? 为什么后面加上iterater迭代的时候却是有缓存

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号