2011-12-02 70 views
0

我試圖使用Hibernate獲取對象的集合,但我不知道如何制定查詢,因爲我不能(或不知道如何)從我想要返回的對象開始。休眠HQL多對多不從返回的對象開始

我有3類:

Participant 
    Event 
    EventRegistration 

它們之間的連接是通過EventRegistration具有與事件,並與參與者多到多關係多到一的關係做出。它看起來像這樣:

EventRegistration.participants 
EventRegistration.event 

我想寫一個查詢使用HSQL或Criteria API來讓我所有參與者的特定事件。

基本上會看或多或少像:

from EventRegistration er inner join er.event as ev inner join er.participants as p where ev.id=? 

無論如何,上面的查詢返回包含每個這些對象(例如對象[] {EventRegistration,事件參加者}中的一個對象數組

我確實試圖找到如何在網上做到這一點,但所有示例都從返回的對象開始。不幸的是,我無法從參與者對象開始,因爲它沒有直接連接到EventRegistration或事件

任何我dea如何讓它只返回參與者列表?

謝謝。

+0

這是完整的賬單。 JB Nizet的回答正是我所期待的。謝謝 – Stef

回答

1

使用SELECT子句:

select p from EventRegistration er 
inner join er.event as ev 
inner join er.participants as p 
where ev.id = ? 
+0

太容易了,謝謝! ;) – Stef