typeorm에 find 속성 내에서 join을 쓰려고 보니까 deprecate 이더라고요?? join 하려면 쿼리 빌더 써야 하는 건가요?
답변 2
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 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직 개발자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!