課程
/后端開發
/Java
/Hibernate緩存策略
不是前面講query.list沒有緩存操作嗎? 為什么后面加上iterater迭代的時候卻是有緩存
2016-12-21
源自:Hibernate緩存策略 3-1
正在回答
我已經找到了
返回的類型不同:list()返回List;iterate()返回Iterate。
查詢策略不同:list()直接發送sql語句,查詢數據庫;iterate()發送sql語句,從數據庫取出id,然后先從緩存中根據id查找對應信息,有就返回結果,沒有就根據id發送sql語句,查詢數據庫。
返回對象不同:list()返回持久化實體類對象;iterate()返回代理對象。
與緩存的關系不同:list()只緩存,但不使用緩存(查詢緩存除外);iterate()會使用緩存。
迭代查詢是延遲加載
舉報
本教程主要介紹Hibernate中緩存的原理、分類和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-12-22
我已經找到了
返回的類型不同:
list()返回List;iterate()返回Iterate。
查詢策略不同:
list()直接發送sql語句,查詢數據庫;
iterate()發送sql語句,從數據庫取出id,然后先從緩存中根據id查找對應信息,
有就返回結果,沒有就根據id發送sql語句,查詢數據庫。
返回對象不同:
list()返回持久化實體類對象;
iterate()返回代理對象。
與緩存的關系不同:
list()只緩存,但不使用緩存(查詢緩存除外);
iterate()會使用緩存。
2016-12-21
迭代查詢是延遲加載