我正在尝试使用Hibernate获取对象集合,但我不确定如何制定查询,因为我不能(或不知道如何)从我想要返回的对象开始。
我有3个班级:
Participant
Event
EventRegistration
它们之间的联系由EventRegistration完成,它与Event有多对一的关系,与Participant有多对多的关系。它看起来像这样:
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=?
无论如何,上面的查询返回一个Object数组,其中包含每个对象中的一个(如Object [] {EventRegistration,Event,Participant}。
我确实尝试通过网络找到如何执行此操作,但所有示例都从返回的对象开始。不幸的是,我无法从Participant对象开始,因为它没有与EventRegistration或Event的直接连接。
知道如何让它只返回参与者列表吗?
感谢。
答案 0 :(得分:1)
使用select子句:
select p from EventRegistration er
inner join er.event as ev
inner join er.participants as p
where ev.id = ?