@Test
public void joinOnNoRelation(){
em.persist(new Member("teamA"));
em.persist(new Member("teamB"));
List<Tuple> result = queryFactory.select(member, team).from(member)
.leftJoin(team)
// 기존과 다르게 member.team 이 아닌 team 을 바로 left join
// member.team 하면 join On 절에 iD값이 들어간다. id로 매칭되게 되어있음.
.on(member.username.eq(team.name))
// 위와 같이 하면 위 조건으로 그냥 조인함 (id 관계 없이)
.where(member.username.eq(team.name)).fetch();
for (Tuple tuple : result) {
System.out.println("tuple = " + tuple);
}
위와 같이 id를 기준으로 하는 것이 아닌
on 절에 걸어둔 조건, 즉 username = teamname 조건에 해당하는 친구를 가져온다.