[TIL] Nest.js Repository

김시원·2023년 5월 23일
0

TIL

목록 보기
28/50

📌 Issues encountered

Issue #1

Nest.js에서 repository를 의존성 주입하였지만 계속 repository에 정의된 함수가 정의되지 않았다는 에러 메세지가 떴다.

📌 What I tried

Issue #1

"EntityRepository is deprecated": typeORM 0.3.x에서 기존에 사용하였든 @EntityRepository() 데코레이터가 deprecated 되었기 때문에 발생했던 에러였다.

해결법 1: Custom decorator를 이용하여 기존 EntityRepository decorator 직접 만들기

  1. 먼저 npm install @nestjs/typeorm@next를 하라고 되어 있는데, 이걸 하니 아래와 같은 에러도 났고 굳이 필요하지 않았다.
  2. 나머지는 링크에 나온 것 그대로 적용시켜주었다.

해결법 2: TypeORM이 제공하는 Repository를 상속받아 Custom Repository 구현하기

이 방법이 훨씬 간단하고 추가적인 파일들을 생성하지 않아서 좋았다.

공식문서를 보면 Repository provider를 정의하고, 이를 service에서 @Inject()로 DI를 하는데 이러면 결국 service에서 db 관련 쿼리를 사용하는 것 같아서 repository 파일을 분리하는 게 더 효과적일 것 같아, 해결법 2번째로 프로젝트를 진행하는 게 좋을 것 같다.

0개의 댓글