hibernate檢索策略

2021-08-09 02:37:12 字數 1009 閱讀 8108

為什麼需要檢索策略:

1.減少記憶體的消耗:當hibernate從資料庫載入乙個物件時,如果同時載入了所有關聯的物件,而程式僅僅需要訪問最初載入

的物件,那麼就白白浪費了記憶體。

2.更高效的查詢資料:傳送盡可能少的sql語句。

立即檢索和延遲檢索(使用關聯物件的屬性時檢索,需要注意懶載入異常), 通過

的lazy屬性進行設定。

該屬性的設定只對load方法有效。對

get,

hql,

qbc均無效。

即對元素的屬性設定。

-lazy:決定集合被初始化的時機。

1.true 懶載入(延遲檢索)

2.false 直接載入 (立即檢索)

3.extra 增強懶載入

(盡可能延遲初始化的時機)

-fetch:決定集合的查詢語句的形式。

1.select 預設形式

2.subselect 子查詢形式(忽略

batch-size)

,子查詢查詢所有

1一端的

id,與

hql聯用

3.join 左外連線形式

(只適用於

get/load,

忽略lazy

,被hql忽略)

-batch-size:

用於批量檢索數量,即一次檢索幾個set,與

hql聯用

,節點也有

lazy

,fetch

屬性:

-lazy:

1.proxy 預設,延遲檢索

2.false 立即檢索

3.no-proxy 無**延遲檢索

-fetch:

1.select 預設

2.join 左外連線(只適用於

get/load,

忽略lazy)

-batch-size: 需要在一的一端的

class

節點設定,一次初始化幾個一的一端的物件,與

hql聯用

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...