這看起來可能很基本,但已經很晚了,我在遇到以下問題。HQL左加入條件
class Group {
@Id
String id;
}
class Participation {
@Id
String id;
@ManyToOne
@JoinColumn(name = "GROUP_ID")
Group group;
@ManyToOne
@JoinColumn(name = "USER_ID")
User user;
}
class User {
@Id
String id;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
Set<Participation> participations;
}
所以
參與 - > 1組
和用戶1 < - >ñ參與
我怎樣才能檢索到所有羣體有,對於給定的用戶,相關的參與(或空無是)?我一直在玩加盟取,但無濟於事到目前爲止...
非常感謝,
CN
PS。我可以在SQL這樣做:
select g.d, p.id
from group as g
left join participation as p
on p.group_id = g.id and p.user_id = 2;
編輯:添加圖和更好的SQL解決方案... – ChambreNoire