inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! Querydsl

동일 entity , table 다중 leftJoin시 방법

9673

mindone

작성한 질문수 1

4

안녕하세요 강의 잘듣고 있습니다. 강의를 따라서 실무에 적용하려고 하는데 어려움이 생겨 질문드립니다. 

공통 코드성 테이블(CM_CDE)를 이용하려고 하는데  어떻게 이용하는지 몰라 여쭙니다. 

Q >>  leftJoin을 같은 entity, 테이블로 두번 조인을 할려고 합니다.

CM_CDE로 조건값을 다르게하고 두번 조인하려고 하는데 상위의 조건값(civPetTyp) 하나만 조인이 됩니다. 

두번 하는 방법이 있을까요? 

[[현재  작성문]]

[[결과 쿼리]]

[[원하는 쿼리형태]]

       select
            cmpt0_.CMPT_SN as col_0_0_,
            cmpt0_.CIV_PET_TYP as col_1_0_,
            cmpt0_.RCP_TYP as col_2_0_,
            cnstldg1_.CNT_NAM as col_3_0_,
            cnstdre3_.DRE_WRK_AMT as col_4_0_,
            code4_.CDE_NAM as col_5_0_,
            code5_.RSRV02 as col_6_0_ 
        from
            MG_CMPT_MNG cmpt0_ 
        left outer join
            MG_CNST_LDG cnstldg1_ 
                on cmpt0_.CNT_SN=cnstldg1_.CNT_SN 
        left outer join
            MG_CMPT_FTR cmptftr2_ 
                on (
                    cmpt0_.CMPT_SN=cmptftr2_.CMPT_SN
                ) 
        left outer join
            MG_CNST_DRE cnstdre3_ 
                on (
                    cnstldg1_.CNT_SN=cnstdre3_.CNT_SN
                ) 
        left outer join
            CM_CDE code4_ 
                on (
                    code4_.CDE=cmpt0_.CIV_PET_TYP 
                    and code4_.GRP_CDE='CMP_ACTY_CDE'
                )
				left outer join
            CM_CDE code5_ 
                on (
                    code5_.CDE=cmpt0_.TRT_ARA 
                    and code5_.GRP_CDE='HJD_CDE'
                )

JPA java

답변 2

4

김영한

안녕하세요. mindone님

Querydsl에서 Q클래스를 직접 생성할 일이 거의 없는데, 딱 이럴 때 다음과 같이 다른 별칭을 주고 생성하면 됩니다^^

QCat cat = QCat.cat;
QCat mate = new QCat("mate");
QCat kitten = new QCat("kitten");
queryFactory.selectFrom(cat)
    .innerJoin(cat.mate, mate)
    .leftJoin(cat.kittens, kitten)
    .fetch();

출처: http://www.querydsl.com/static/querydsl/4.1.3/reference/html_single/

도움이 되셨길 바래요.

1

mindone

와 역시!!!! 너무 감사합니다  큰 도움이 됩니다 ^_^

SpringBoot 4.X에서의 Querydsl 설정

0

84

2

querydsl 오픈소스에 대한 질문

0

70

1

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

0

108

1

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

0

316

2

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

1

68

1

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

0

160

1

querydsl sum() 메서드 없어요.

0

158

2

build 디렉터리 생성

0

135

2

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

0

113

2

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

0

90

1

오타 제보 드립니다.

0

70

2

벌크 연산과 flush, clear

0

76

1

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

0

87

1

QHello import하기 문제 발생

0

147

2

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

0

68

2

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

1

195

2

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

1

200

1

querydsl 설정 문제

0

222

2

quey dsl 설정부분

0

157

2

count 쿼리 관련 질문입니다!

0

75

1

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

0

89

1

답변부탁드리겠습니다.

0

89

2

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

0

64

1

중급문법 벌크연산에서

0

81

2