참조 : 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 {}