Hibernate的抓取策略

2021-08-28 18:53:16 字數 933 閱讀 5447

立即檢索:

* 當執行某行**的時候,馬上發出sql語句進行查詢.

* get()方法

延遲檢索:

* 當執行某行**的時候,不會馬上發出sql語句進行查詢.當真正使用這個物件的時候才會傳送sql語句.

* load()方法

類級別檢索和關聯級別檢索:

* 類級別的檢索:

* <class>標籤上配置lazy

* 關聯級別的檢索:

* /上面的lazy

從一的一方關聯多的一方:

* * fetch:控制sql語句的型別

* join      :傳送迫切左外連線的sql語句,同時查詢物件及關聯物件,此時,lazy屬性就失效了。

* select    :預設值,傳送多條sql查詢關聯物件.

* subselect :傳送子查詢查詢關聯物件.(需要使用query介面測試)

* lazy:控制關聯物件的檢索是否採用延遲.

* true      :預設值, 查詢關聯物件的時候使用延遲檢索

* false     :查詢關聯物件的時候不使用延遲檢索.

* extra     :極其懶惰.

***** 如果fetch是join的情況,lazy屬性將會忽略.

在多的一方關聯一的一方: *

* fetch:控制sql語句傳送格式

* join      :傳送乙個迫切左外連線查詢關聯物件.fetch=」join」,lay屬性會被忽略.

* select    :傳送多條sql檢索關聯物件.

* lazy:關聯物件檢索的時候,是否採用延遲

* false     :不延遲

* proxy     :使用**.檢索訂單的時候,是否馬上檢索客戶

由customer物件的對映檔案中上lazy屬性來決定.

* no-proxy  :不使用**

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...