1. 程式人生 > >Hibernate 載入策略

Hibernate 載入策略

Hibernate載入策略

1、  即時載入–get載入資料

使用get獲取資料,會立即查詢(快取—資料庫)

2、  延遲載入懶載入 lazy—load,不會立即查詢,當需要的時候才會查詢

容易造成:LazyInitialaztionException異常:因為session被關閉。

3、  Load支援延遲載入,get不支援延遲載入。如果沒有設定延遲載入,那麼load也會立即載入物件。

4、  class的lazy

a)        class預設情況下是支援懶載入如果設定lazy=false,get和load都會立即載入物件。

5、  set\list預設下是lazy=true的。支援懶載入,但是當使用size()的時候依然要去查詢整個set集合的內容。Lazy=false;立即查詢所有集合的內容。Lazy=extra比較智慧。支援懶載入,當使用size()的時候,不會查詢整個集合,僅僅查詢集合中元素的個數。當需要使用集合元素的內容時,再去查詢集合內容。

6、  單端關聯上的lazy:(many-to-one,ont-to-one)預設是支援懶載入lazy=proxy