entity repository

엔티티 정의가 리포지토리 호출로 이어지는 순서

엔티티를 정의했다고 바로 서비스에서 쓸 수 있는 것은 아니다. 모듈에 엔티티를 등록하고, 서비스에 repository를 주입해야 데이터 접근 경로가 완성된다.

순서: Entity 등록 후 Repository 주입forFeature와 InjectRepository가 같은 엔티티를 바라봐야 한다.

TypeORM 연동 순서

1Entity

User 클래스를 테이블 구조로 선언한다.

2forRoot

DB 연결과 전체 엔티티 로딩 방식을 설정한다.

3forFeature

현재 모듈에서 사용할 엔티티를 등록한다.

4InjectRepository

서비스 생성자에 Repository<User>를 주입한다.

5Query

save, find, update 같은 메서드로 작업한다.

핵심 코드 경계

TypeOrmModule.forFeature([User])
constructor(@InjectRepository(User) private users: Repository<User>) {}
핵심: 엔티티 이름이 forFeature, InjectRepository, Repository 타입에서 같은지 먼저 본다.