TypeORM 0.3.0 부터 EntityRepository가 deprecated 되었다.
커스텀 Repository으로 구현하기
// user.repository.ts
@Injectable()
export class UsersRepository extends Repository<UsersEntity> {
constructor(private dataSource: DataSource) {
super(UsersEntity, dataSource.createEntityManager());
}
async getById(id: string) {
return this.findOne({ where: { id } });
}
// ...
}
The repository is then injected into the service.
// user.service.ts
export class UserService {
constructor(private readonly userRepository: UserRepository) {}
async getById(id: string): Promise<User> {
return this.userRepository.getById(id);
}
// ...
}
and the module has imports for the feature and the repository as a provider.
// user.module.ts
@Module({
imports: [
TypeOrmModule.forFeature([UserEntity])],
// ...
],
providers: [UserService, UserRepository],
// ...
})
export class UserModule {}
'Database > TypeORM' 카테고리의 다른 글
Relations 정리 One-to-One, @JoinColumn() (0) | 2024.08.02 |
---|---|
Relations 정리 OneToMany, ManyToOne (0) | 2024.08.02 |
TypeORM의 Entity (0) | 2024.07.29 |
TypeORM에서 제공하는 특별한 데코레이터 , 엔티티의 생성 및 수정 일자를 자동으로 관리 (0) | 2024.07.29 |
TypeORM의 Listener (0) | 2024.07.29 |