hibernate 檢索策略

2021-07-24 09:45:57 字數 580 閱讀 3661

不浪費記憶體

提高查詢效率

lazy=false - 立即檢索

lazy=true - 延遲檢索

batch-size=x - 批量預抓取數量設定

lazy=[true|false|extra]:true為延遲檢索;false為立即檢索;extra為增強延遲檢索:例如只使用size()方法,則只會傳送一條count的sql語句。

fetch=[join|select|subselect]:join為左外連線子表查詢,所以lazy屬性失效;select = select * from id in (1,2,3);subselect為子查詢,select = select * from id in (select id from …) ,因此batch-size失效

batch-size=3:批量預抓取預設為1,一次初始化只初始自己,一次初始化set集合的數量 - select * from id in (?,?,?)

lazy=[proxy|no-proxy|false]

fetch=[join|select]

參照上面分析

Hibernate 檢索策略

在預設情況下,當hibernate從資料庫中載入物件時,會同時載入所有關聯的物件.但實際應用中可能不需要使用其關聯的物件,這樣就可能通過設定hibernate的檢索策略,來優化檢索效能.hiberante提供了3種檢索策略 1 立即檢索 2 延遲檢索 3 迫切左外連線檢索 下面先從概念上去理解,先在...

Hibernate檢索策略

預設的檢索策略是立即檢索。在hibernate對映檔案中,通過在上配置 lazy屬性來確定檢索策略。對於session的檢索方式,類級別檢索策略僅適用於load方法 也就說,對於get qurey檢索,持久化物件都會被立即載入而不管lazy是false還是true.一般來說,我們檢索物件就是要訪問它...

hibernate 檢索策略

本文主要是學習hibernate的檢索策略 1 類級別的檢索策略有兩種一種是立即檢索,一種是延遲檢索,僅影響load操作 立即檢索,是類的預設檢索方式,或者設定了lazy false 也是立即檢索方式,即執行load操作之後會立馬返回相應的資料。延遲檢索,當類設定lazy true 時,hibern...