延遲載入
它是什麼: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...