これは基本的なように見えるかもしれませんが、遅れており、次の点で問題があります。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 < - 私は、とのすべてのグループを取得するにはどうすればよい> 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