Hibernate的抓取策略

2021-09-11 19:16:31 字數 920 閱讀 8739

延遲載入

它是什麼:lazy(懶惰載入)執行到該程式時,啊還不會傳送語句,而真使用這個物件屬性時才傳送sql語句

延遲載入的分類

類級別的延遲載入

* load方法查詢某個物件的時候,是否採用延遲

* 類級別的延遲載入通過上的lazy進行配置,讓lazyshixiao方法:

1. lazy設定為false

2. 將持久類同final修飾

3. 使用initialize()方法

關聯級別的延遲

* 查詢到某個物件時,查詢其關聯的物件時,是否採用延遲載入。

customer customer = session.get(customer.class,1l);

customer.getlinkmans();----通過客戶獲得聯絡人的時候,聯絡人物件是否採用了延遲載入,稱為是關聯級別的延遲。

* 抓取策略往往會和關聯級別的延遲載入一起使用,優化語句

抓取策略

通過乙個物件抓取到關聯物件需要傳送sql語句,sql語句如何傳送,傳送成什麼樣格式通過策略進行配置。

上的fetch和lazy

fetch:抓取策略,控制sql語句格式

lazy:延遲載入,控制查詢關聯物件的時候是否採用延遲

在實際開發中,一般都採用預設值。如果有特殊的需求,可能需要配置join。

上的fetch和lazy

fetch :抓取策略,控制sql語句格式。

lazy :延遲載入,控制查詢關聯物件的時候是否採用延遲。

在實際開發中,一般都採用預設值。如果有特殊的需求,可能需要配置join。

hibernate 抓取策略

1.單端 對端是one,即many2one 1.1 在用many2one時,fetch可以採取select或者join.用select時,會另發一條語句載入關聯物件。用join時,用一條語句就查上來,相當於資料庫裡面的連線,內連線外連線取決於外來鍵是否允許為空。注意 這個規則僅適用於get或者loa...

Hibernate抓取策略

抓取策略指的是我們在獲取資料時,告訴hibernate以何種sql的方式去獲取,hibernate有三種抓取方式可供選擇,分別是select join subselect 該屬性只能在集合標籤和關聯關係標籤上使用。xml version 1.0 encoding utf 8 cn.hibernate...

hibernate 抓取策略

抓取策略 fetching strategy 抓取策略 fetching strategy 是指 當應用程式需要在 hibernate實體物件圖的 關聯關係間進行導航的時候,hibernate如何獲取關聯物件的策略。抓取策略可以在o r對映的元資料中宣告,也可以在特定的hql 或條件查詢 crite...