-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
세타조인 질문입니다.
23.01.25 13:26 작성 조회수 467
1
@Test
void theta_join() {
em.persist(new Member("teamA"));
em.persist(new Member("teamB"));
em.persist(new Member("teamC"));
List<Member> result = queryFactory
.select(member)
.from(member)
.join(member.team, team)
.where(member.username.eq(team.name))
.fetch();
System.out.println("result = " + result);
// => result = []
assertThat(result).extracting("username").containsExactly("teamA","teamB");
}
위와 같은 쿼리문의 결과는 빈 결과값이 나오는데 이유를 모르겠습니다. 바로 밑의 질문이랑 비슷한데 답변이 잘 이해가 되지 않아 질문을 올렸습니다.
답변을 작성해보세요.
0
OMG
2023.01.25
Team teamA = new Team("teamA");
Team teamB = new Team("teamB");
em.persist(teamA);
em.persist(teamB);
em.persist(new Member("teamA",1,teamA));
em.persist(new Member("teamB",1,teamA));
em.persist(new Member("teamC",1,teamA));
List<Member> result = queryFactory
.select(member)
.from(member)
.join(member.team, team)
.where(member.username.eq(team.name))
.fetch();
System.out.println("result = " + result);
새로 해당 테스트에서 추가한 Member는 team이 세팅되어 있지 않습니다.
이 부분을 놓치신게 아닐까요?
답변 1