Hibernate 抓取策略Fetch

2021-07-23 02:52:00 字數 995 閱讀 2764

lazy與fetch

如果fetch為"join",lazy不論設定成什麼樣的值,都不起作用

如果fetch為"select",先載入classes,再載入student,而lazy決定在什麼時候載入student

public

class

fetchtest

extends

hibernateutil}}

/** * *

* select * from student where cid in (select cid from classes )

呼叫了子查詢

但是這種策略,在一定程度上也不能使用,在不包含子查詢的需求內

例如 查詢cid為1 的班級的所有學生,就不能用子查詢了

*/@test

public

void

getallclassesandstudents_subselect()}}

/*** * 在包含子查詢的查詢中,用join 無效,和預設select效果一樣

* 在不包含子查詢的查詢中 ,join能實現優化

* 所有萬能select(效率低),包含子查詢用subselect,不包含用join

* */

@test

public

void

getallclassesandstudents_join()}}

/*** select c from classes left outer join student

on classes0_.cid=students1_.cid

where

classes0_.cid=?

* */

@test

public

void

getallclassesandstudents_join2()

session.close();

}}

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