Hibernate 延遲載入和立即載入

2022-09-15 18:54:11 字數 787 閱讀 5220

延遲載入:延遲載入(lazy load懶載入)是當在真正需要資料時,才執行sql語句進行查詢,避免了無謂的效能開銷。

延遲載入分類:

01.類級別的查詢策略

02.一對多和多對多關聯的查詢策略

03.多對一關聯的查詢策略

如果程式載入乙個物件的目的是為了訪問它的屬性,可採取立即檢索,如果程式載入乙個持久化物件的目的僅僅為了獲取它的引用,可採用延遲檢索。

1.類級別可選的檢索策略包括立即檢索和延遲檢索,預設為延遲檢索

1.1立即檢索:立即載入檢索方法指定的物件,立即傳送sql

1.2 延遲檢索:延遲載入檢索方法制定的物件.在使用具體的屬性時,再進行載入,才傳送sql

2.無論元素的lazy屬性是true還是false,session的get()方法及query的list()方法在類級別總是使用立即檢索策略

3.若元素的lazy屬性為true或預設值,session的load()方法不會執行查詢資料庫表的select語句,僅返回**類物件的例項,該**類例項有如下特徵:

3.1 由hibernate在執行時採用cglib工具動態生成

3.2 hibernate建立**類例項時,僅初始化其oid屬性

3.3在應用程式第一次訪問**類例項的非oid屬性時,hibernate會初始化**類例項

3.4注意:類級別檢索策略僅適用於load()方法

在配置中:

1.loud---建立載入

Hibernate 延遲載入和立即載入

概念 什麼是延遲載入 所謂延遲載入就是當在真正需要資料的時候,才真正執行資料載入操作。可以簡單理解為,只有在使用的時候,才會發出sql語句進行查詢,資料是分n次讀取。一 延遲載入 nhibernate延遲載入須有session存在,且配置為lazy true 預設 dal中編寫方法如下 延遲載入 p...

Hibernate 延遲載入和立即載入

概念 什麼是延遲載入 所謂延遲載入就是當在真正需要資料的時候,才真正執行資料載入操作。可以簡單理解為,只有在使用的時候,才會發出sql語句進行查詢,資料是分n次讀取。一 延遲載入 nhibernate延遲載入須有session存在,且配置為lazy true 預設 dal中編寫方法如下 延遲載入 p...

hibernate延遲載入

在hibernate應用中,有時候只訪問指定的持久化物件,在載入該物件時沒有必要載入其關聯的物件,以免浪費記憶體空間,但若想在session關閉後正常訪問該物件,必須在載入該物件時,一起載入該物件的關聯物件,為了滿足檢索持久化物件的不同情況的需求,開發靈活高效的hibernate應用,hiberna...