인프런 커뮤니티 질문&답변

chl.cken님의 프로필 이미지
chl.cken

작성한 질문수

실전! Querydsl

조인 - on절

연관관계 없는 엔티티 외부 조인과 각각의 테이블 조회 2번 해서 비교하는 것에대한 질문 드립니다.

작성

·

301

1

안녕하세요 늘 좋은 강의와 댓글 달아주셔서 감사드립니다.

 

이해하기 쉽도록 케이스를 적었습니다

1. 토론리뷰 테이블과 마일리지 테이블이 연관관계 없이 존재한다고 가정
2. 토론리뷰 테이블의 id가 마일리지 fkey 컬럼에 존재할 경우 마일리지 지급 상태 O

이라는 가정입니다 ^^..

 

저 같은 경우는 연관관계가 없을때 외부 조인 사용하는 경우는 여러 쿼리를 날리는 것이 아닌 한 번에 처리 해서 속도 향상을 위해서  연관관계가 없는 외부 조인을 사용한다고 이해했습니다 (왜냐하면 토론리뷰 조회 쿼리와, 마일리지 전체 조회 쿼리를 가져와서 id = fkey 비교하는것보다 연산 속도가 빠를거라고 추측..)

 

그런데 Tuple 타입으로 변환되는 외부 조인을 사용할 경우는 service와 controller까지 넘어가지 않도록 repository내에서 값을 변환, 처리한 다음 넘기라고 하셨는데 그렇게 될 경우 Repository에서 값을 빼내기 위해 for문을 돌아야하거나,

어쩔수없이 Controller로 데이터를 넘겼다면 프론트 단으로 데이터를 보낸 다음, 프론트에서 for문을 돌아 회원 id가 있는 경우와 마일리지의 fkey가 존재하는 경우를 조회해서 마일리지 지급 유무를 체크할 수 밖에 없지 않나 ?? 라는 생각이 듭니다...ㅠㅠㅠ

 

결국은 for문을 사용해야해서 속도적으로 어떤 이점이 있을까 라는 생각이 들어 질문하게  되었습니다.


이렇게 연관관계가 맺어져있지 않을 경우는 타입이 Tuple일 수 밖에 없는데 이렇때 어떤 방식으로 접근하는게 올바른 방법일지 질문드립니다 감사합니다!!  혹은 .. Tuple 타입 데이터를 어떻게 다뤄야 할까요..??? ㅠ

답변 1

1

chl.cken님의 프로필 이미지
chl.cken
질문자

PROJECTION 과

DTO로해결 했습니다

안녕하세요. chl.cken님, 공식 서포터즈 OMG입니다.

스스로 잘 해결하셨습니다 ^^

chl.cken님의 프로필 이미지
chl.cken

작성한 질문수

질문하기