TypeORM querybuilder에서 .leftJoin과 .leftJoinAndSelect의 차이

장유림·2025년 4월 4일

jz_project

목록 보기
2/7
메서드하는 일
leftJoin()Join만 한다 (데이터 select 안 됨)
leftJoinAndSelect()Join+Select(데이터 가져옴)

예시: post.decoCard 조인하고 싶을 때

A. .leftJoin()

.createQueryBuilder('post')
.leftjoin('post.decoCard', 'decoCard')

Join이 되고,
select 결과에 decoCard 정보가 포함되지 않음
post.decoCard의 값은 undefined
그러나 집계(count)는 가능

내부적으로 봤을 때 다음과 같음

LEFT JOIN decoCard ON decoCard.postId = post.id

B. .leftJoinAndSelect()

Join이 되고,
post.decoCard까지 entity에 매핑되어 포함됨
post.decoCard.decoCard 같은 방식으로 접근 가능

내부적으로 봤을 때 다음과 같음

LEFT JOIN decoCard ON decoCard.postId = post.id
SELECT post.*, decoCard.*
profile
환영합니다

0개의 댓글