Nest)typeorm entityrepository is deprecated 제일 쉽게 해결

SCV·2023년 6월 18일
0
post-thumbnail

참조 : https://velog.io/@sheoae12/NestJS-Custom-Repository-%EB%A7%8C%EB%93%A4%EA%B8%B0

인프런 John Ahn님 강의를 듣다가, boardd.repository.ts를 만들면서 Repository Pattern으로 CRUD를 구현하는 것을 진행하다가, @EntityRepository 데코레이터가 제대로 안 먹히는 상황이 벌어졌다.

이유는 TypeORM 버전 업데이트가 되면서, 해당 데코레이터가 더 이상 지원이 안 된다는 것.


해결방법으로 게시글이 몇 개 없었는데, 그 중 제일 상단에 검색된 글의 내용은 CustomModule을 만들라는건데,, 이해하기가 어려웠다.

그래서 더 찾다가, 저 "참조"를 보게 되었다.
덕분에 해결했다. 고마워요.

해당 방식이 좀 더 노출이 잘 되었으면 하는 바램으로 포스트한다.


boards.service.ts

@Injectable()
export class BoardsService {
  constructor(
    @InjectRepository(BoardRepository)
    private boardRepository: BoardRepository,
  ) {}
...
}

board.repository.ts

@Injectable()
export class BoardRepository extends Repository<Board> {
  constructor(dataSource: DataSource) {
    super(Board, dataSource.createEntityManager());
  }
  ...
}

board.module.ts

@Module({
  imports: [TypeOrmModule.forFeature([Board])],
  controllers: [BoardsController],
  providers: [BoardRepository, BoardsService],
})
export class BoardsModule {}
profile
노동자

0개의 댓글