inflearn logo
강의

講義

知識共有

本当! Querydsl

結合 - 基本結合

join에대해 질문드립니다.

5

lasttokens55853591

投稿した質問数 36

0


궁금한게있습니다.

leftjoin 강좌 설명해주시는데..

3분 44 초에서..

List<Member> result = queryFactory
.selectFrom(member)
.leftJoin(member.team,team)
.where(team.name.eq("teamA"))
.fetch();

에서...

혹시 버전이나 언어에 따라서..
같은 문법이라도..
left outer join으로할경우..
left on join으로 변경이되는 케이스가있을까요?

val result = queryFactory; .selectFrom(member) //.join(member.team, team) .leftJoin(member.team,team) //.where(team.name.eq("teamA")) //.on(team.name.eq("teamA")) .fetch();

left outer join이 나올려면 어떻게하는게맞을까요?

혹시 버전/로그 출력 차이때문에 outer도 안나오는케이스가있는지 궁금합니다.

java jpa

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이경용님.

QueryDSL을 사용하여 join 문법을 작성할 때, .leftJoin() 메서드를 사용하여 작성한 코드가 있습니다. 이 경우 코드는 SQL의 LEFT OUTER JOIN을 만들어냅니다. 질문하신 것처럼 문법의 상위 버전이나 언어에 따라 자동으로 LEFT ON JOIN으로 변경되는 경우는 없습니다. .leftJoin() 자체가 LEFT OUTER JOIN을 만드는 것이기 때문입니다.

QueryDSL에서 .on() 옵션을 추가하면, 조인 조건을 더 명확히 하고 싶을 때 사용합니다. 이 때, 기본적으로는 관련된 엔티티의 연결이 LEFT OUTER JOIN 구조로 생성됩니다. 따라서, 직접적으로 코드가 변환되어 또 다른 타입의 조인으로 바뀌는 경우는 거의 없습니다.

자세한 내용은 다음 게시물도 참고해 보실 수 있습니다:
- QueryDSL에서 조인 방식의 차이
- fetch join과 일반 조인의 차이점

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

SpringBoot 4.X에서의 Querydsl 설정

0

157

2

querydsl 오픈소스에 대한 질문

1

101

1

예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?

0

127

1

Querydsl 6.X버전에 대해서 어떻게 생각하시나요?

0

349

2

여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요

1

86

1

fetchResults()는 더이상 권장되지 않는다는데 맞나요?

0

172

1

querydsl sum() 메서드 없어요.

0

169

2

build 디렉터리 생성

0

152

2

자바 ORM 표준 JPA 프로그래밍 - 기본편 듣고 바로 학습해도 괜찮을까요?

0

123

2

현재 Querydsl에서 from절 서브쿼리를 지원하나요?

0

99

1

오타 제보 드립니다.

0

79

2

벌크 연산과 flush, clear

0

84

1

Run As Intellij 로 변경시 Q타입 import 불가

0

95

1

QHello import하기 문제 발생

0

157

2

등록된 함수 보는법(H2Dialect) 질문

0

76

2

5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의

1

209

2

[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??

1

213

1

querydsl 설정 문제

0

228

2

quey dsl 설정부분

0

168

2

count 쿼리 관련 질문입니다!

0

79

1

stringtemplate를 이용하여 where절 검색 방법 질문 드립니다.

0

98

1

답변부탁드리겠습니다.

0

95

2

(OrderSpecifier)관련 내용 어디있을가요

0

68

1

중급문법 벌크연산에서

0

85

2