Это может показаться основным, но уже поздно, и у меня возникают проблемы со следующим.HQL left join with condition
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 < -> N Участие
Как я могу получить все группы с, для данный Пользователь, связанное с ним участие (или null - нет)? Я играл с присоединиться получений фидов, но безрезультатно до сих пор ...
Большое спасибо,
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