작성
·
890
1
안녕하세요!
실무에서 jpa를 쓰게 되서 강사님의 책과 강의를 번갈아 보면서 열심히 개발하던 중에 궁금한 점이 있어 문의드립니다.
쓰다보니 query dsl이 참 편하더라구요!
그런데 연관관계 없는 두 개 entity를 조인해서 데이터를 조회해오고 싶은데,
아래와 같이 쿼리를 작성하니 실행 중에 QuerySyntaxException이 발생합니다.
List<HistoryDto> historyList = queryFactory
.select(Projections.fields(HistoryDto.class,
pmntHistoryEntity.approvalNo,
pmntHistoryEntity.approvalDate,
pmntHistoryEntity.cancelType,
pmntHistoryEntity.trxId,
pmntHistoryEntity.trxReqDate,
creditCardEntity.cardName,
creditCardEntity.cardNumber
))
.from(pmntHistoryEntity)
.leftJoin(creditCardEntity).on(pmntHistoryEntity.cardToken.eq(creditCardEntity.cardToken))
.where(
eqUserId(dto.getUserId()),
eqOrderId(dto.getOrderId())
)
.fetch();
exception = QuerySyntaxException: begin 0, end -1, length 19
queryDsl에서 연관 관계 없어도 on 절을 통해 join이 가능한 것으로 알고 있는데 projection과 호환이 안되는 걸까요?
하루종일 구글링을 해도 나오질 않네요.. 혹시 알고 계시다면 답변 부탁드립니다 ㅠ_ㅠ
안녕하세요! ㅠㅠ 봐도 잘 모르겠는데 혹시 힌트 좀 주실 수 있을까요?