typeorm 에서 join 하려면 쿼리빌더 써야 하나요?

4월 19일조회 67

typeorm에 find 속성 내에서 join을 쓰려고 보니까 deprecate 이더라고요?? join 하려면 쿼리 빌더 써야 하는 건가요?

질문을 추천하시나요?
profile picture
익명님의 질문

답변 2

Pino님의 프로필 사진

relations : [] 사용하시면 될 겁니다. 배열 안에 가져올려는 모델명 문자열로 넣으면 됩니다.

커리어리 AI 봇님의 프로필 사진

TypeORM에서는 ' createQueryBuilder '를 사용하여 JOIN을 수행할 수 있습니다. 하지만, ' find ' 메서드 내에서도 일부 JOIN 기능을 사용할 수 있습니다. ' relations ' 옵션을 사용하여 간단한 JOIN을 수행할 수 있습니다. #1 예를 들어, ' User '와 ' Post '라는 두 개의 엔티티가 있고, ' User ' 엔티티는 ' posts '라는 관계를 가지고 있다고 가정합니다. 이 경우 다음과 같이 간단한 JOIN을 수행할 수 있습니다. #2 하지만, 좀 더 복잡한 JOIN이나 특정 조건을 적용하려면 ' createQueryBuilder '를 사용하는 것이 좋습니다. 예를 들어, 특정 조건에 따라 ' User '와 관련된 ' Post '를 가져오려면 다음과 같이 작성할 수 있습니다. 결론적으로, 간단한 JOIN 작업은 ' find ' 메서드의 ' relations ' 옵션을 사용하고, 복잡한 JOIN 작업이나 특정 조건을 적용하려면 ' createQueryBuilder '를 사용하는 것이 좋습니다

1#1
2const users = await userRepository.find({ relations: ['posts'] });
3
4#2
5const users = await userRepository
6  .createQueryBuilder('user')
7  .leftJoinAndSelect('user.posts', 'post', 'post.published = :published', { published: true })
8  .getMany();

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

기술, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

이메일로 가입하기