Hibernate懶載入策略

2021-08-24 19:55:00 字數 1013 閱讀 9492

hibernate懶載入策略

概念

lazy的概念就是只有在真正使用物件時,才會去建立。對hibernate而言,就是真正載入時才發出載入sql語句。 延遲載入機制是為了避免一些無謂的效能開銷而提出來的。

重點牢記

1.load支援延遲載入,get不支援延遲載入。

2.lazy的生命週期與session相同,lazy載入必須依賴於session一直開啟。

3.hibernate lazy屬性,在3.x後是預設開啟的,在以前版本中預設是關閉的。

4.hibernate通過cjlib實現**。

配置型別

class

true/false

只對普通屬性的延遲載入有效,不包括集合和其他類屬性。

property

true/false

需要類增強器來對實體類的class檔案進行強化處理。

在hibernate3中,引入了一種新的特性——屬性的延遲載入,這個機制又為獲取高效能查詢提供了有力的工具。比如它可以用於乙個複雜物件中某個屬性是乙個大文字,我們不想再載入這個物件時浪費太多時間,那麼我們就可以使用屬性推後載入。

集合

true/false/extra

如果設定為true,那麼就會在該集合被載入時發出sql語句。

如果設定為false,那麼在發出查詢普通屬性sql時就會隨後發出集合的查詢語句。

如果設定為extra,與設定為true類似,但相對智慧型,建議在實際工作中選用extra.

one-to-one,many-to-one[單端關聯]

proxy /false/noproxy

如果設定為proxy,那麼就會在類物件被載入時發出sql語句。

如果設定為false,那麼在發出查詢普通屬性sql時就會隨後發出類物件的查詢語句。

Hibernate懶載入策略

hibernate懶載入策略 概念 lazy的概念就是只有在真正使用物件時,才會去建立。對hibernate而言,就是真正載入時才發出載入sql語句。延遲載入機制是為了避免一些無謂的效能開銷而提出來的。重點牢記 1.load支援延遲載入,get不支援延遲載入。2.lazy的生命週期與session相...

hibernate的抓取策略和懶載入

hibernate的抓取策略指的是當應用程式需要在關聯關係間 表與表之間 進行導航的時候,hibernate如何獲取關聯物件的策略。抓取策略可以在o r對映的元資料中宣告 eg hbm.xml 也可以在特定的hql 或條件查詢 criteria query 中過載宣告。抓取策略 大的方面有兩類 se...

hibernate懶載入原理

懶載入的意思是查詢的時候不會立刻訪問資料庫,而返回的是 物件,當真正去使用物件欄位的時候才會訪問資料庫。load object,serializable 前提實體類不能是final的。根據id查詢 查詢返回的是 物件,不會立刻訪問資料庫,是懶載入的。當真正去使用物件的時候才會訪問資料庫。用load的...