2011-07-19 49 views
1

可能重複:
Can I eager load a property using HQL?Hibernate的數據檢索改善。

我會嘗試通過抽象化真實的情景合成問題。

我有實體A其中有實體B作爲成員,並且被延遲加載。

EntityB具有以及成員EntityC

我現在做的不是很適宜的

select distinct entA from EntityA entA ,EntityB entB, EntityC entC 
where entA.ent_B_ID = entB.id and entB.ent_C_ID = entC.id and entC.someValue ='x' 

這會檢索所有entityA對象,但我不得不在每個呼叫這些對象getEntityBentityBgetEntityC有充分的對象,所以太多的DB呼籲這個懶加載。

提到:我不能覆蓋映射。

之前(幾年前)我用JDBC和sql有我會做類似的事情,但與HQL我可以檢索完整entityA對象在1查詢?

謝謝!

+2

這似乎類似於http://stackoverflow.com/questions/3684376。 – ddso

+0

這個工作確定...選擇不同恩塔從EntityA恩塔左連接抓取entA.entityB左加入取entA.entityB.entityC其中 entA.entityB.entityC.someValue =「」 + someValue中+「'」; – Cris

回答

1

你需要使用「抓取」或標準或HQL或者您可以在關係集 - 懶惰=假