2014-11-03 72 views
0

我試圖執行一個查詢,該查詢具有多個內部連接並從這些表中獲取不同的列。內部連接查詢的Hibernate映射對象

對於前:

Table-1 
    Col1, Col2........Col10 


Table-2 
    Col1....Col5 

Table-3 
    Col1...............Col20 

內連接

Select tb1.col1, tb1.col2, tb1.col3, tb2.col1, tb3.col1, tb.col2 
inner join 
tb1 
inner join 
tb2 
inner join 
tb3 
where cond1 &cond2 

查詢執行罰款中使用Hibernate,但我想結果集映射到Java POJO Object..How我可以建立映射對象,是否有任何工具可用於生成此查詢的映射對象...

我可以手動執行,但輸出中有40列...

回答

0

假設三個表格對應於模型中的三個對象。然後,您可以考慮這三個對象相互關聯的方式,以及這些對象中的哪一個將成爲關係的自然擁有者。所以,如果你想到對象A有一個對象B的集合,它具有對象C的集合,那麼你可以說對象A擁有這種關係。

然後你希望你的查詢返回的對象A的列表

所以你可以這樣寫:

"SELECT a FROM A a JOIN a.bs b JOIN b.cs c WHERE a.attr = val and b.attr2 = val2" 

因爲你的一個集合將有機會獲得所有B和所有C,則應該滿足你的需求。

+0

表中沒有關係綁定...即;他們沒有外鍵..例如: - table2/field1應該只是如果它在table1/field1中,但這種關係是以編程方式實現的... – user1050619 2014-11-04 23:57:41

+0

所以這些對象在任何方面都沒有關係?是否有任何對象具有對其他對象實例的引用或集合? – 2014-11-05 02:32:03

+0

不,沒有參考文獻或參考文獻集合... – user1050619 2014-11-05 03:34:22