작성
·
9.4K
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'
)
답변 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