FetchType與FetchMode的區別

2021-06-19 20:48:47 字數 594 閱讀 9809

使用例:

@fetch(value=fetchmode.subselect) 

兩者比較:

兩者都是設定關聯物件的載入策略。前者是jpa標準的通用載入策略註解屬性,

後者是hibernate自有載入策略註解屬性。

fetchtype可選值意義與區別如下:

fetchtype.lazy: 懶載入,在訪問關聯物件的時候載入(即從資料庫讀入記憶體)

fetchtype.eager:立刻載入,在查詢主物件的時候同時載入關聯物件。

fetchmode可選值意義與區別如下:

@fetch(fetchmode.join): 始終立刻載入,使用外連(outer join)查詢的同時載入關聯物件,忽略fetchtype.lazy設定。

@fetch(fetchmode.select) :預設懶載入(除非設定關聯屬性lazy=false),當訪問每乙個關聯物件時載入該物件,會累計產生n+1條sql語句

@fetch(fetchmode.subselect)  預設懶載入(除非設定關聯屬性lazy=false),在訪問第乙個關聯物件時載入所有的關聯物件。會累計產生兩條sql語句。且fetchtype設定有效。

FetchType與FetchMode的區別

原文出處 使用例 fetch value fetchmode.subselect 兩者比較 兩者都是設定關聯物件的載入策略。前者是jpa標準的通用載入策略註解屬性,後者是hibernate自有載入策略註解屬性。fetchtype可選值意義與區別如下 fetchtype.lazy 懶載入,在訪問關聯物...

FetchType與FetchMode的區別

使用例 fetch value fetchmode.subselect 兩者比較 兩者都是設定關聯物件的載入策略。前者是jpa標準的通用載入策略註解屬性,後者是hibernate自有載入策略註解屬性。fetchtype可選值意義與區別如下 fetchtype.lazy 懶載入,在訪問關聯物件的時候載...

Oracle游標的for與fetch

使用隱式游標和顯式游標 1.查詢返回單行記錄時 隱式游標 2.查詢返回多行記錄並逐行進行處理時 顯式游標 顯示游標屬性 declare cursor cur emp is select from emp row emp cur emp rowtype begin open cur emp fetch...