延遲載入:延遲載入(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...