hibernate檢索策略

 檢索策略  lasyfetch

檢索:就是把數據庫的數據加載到內存的過程。

檢索策略的方式:

1.立即檢索(立即加載)

2.延遲檢索(延遲加載)

檢索策略的應用:

1.類級別上的應用 (get方法和load方法)

Get方法  vs   load方法區別:

1.get方法在檢索數據的時候,不管class元素是否lasy設置爲true還是fale,都是立即檢索

2.Laod方法在檢索數據的時候,class元素lasy設置成true,延遲檢索,並且產生的對象類型是一個代理類型,如果class元素lasy設置成false,立即檢索,產生對象類型是一個普通po類型對象

3.get方法和load都是類級別上的檢索的應用方式

4.對應類級別上的檢索,一般就定爲立即加載方式

2.集合級別上的應用

在檢查某個對象的時候,如果該對象有關聯的數據,可以決定是否延遲或者立即加載關聯的數據

 

Lasy(是否懶加載)

Fetch(生成sql語句樣子)

結果

false

Select(默認就是select

同時查詢主表和關聯表數據

true

select

先查詢主表信息,都是在使用集合的時候,才發出去sql查詢關聯表信息

true

join

在查詢主表的時候,發出連接sql語句,lasy無效

false

join

true

subselect

先查主表,在使用集合的時候才發出sql語句去查詢相關數據

false

subselect

先查主表,然後把主表的id作爲子查詢條件去查詢關聯表


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章