TypeORM Repository

NestJS 🟡 Mid

Definition

Pattern d'acces aux donnees qui fournit des methodes CRUD (find, save, delete) pour une entite. Injecte via @InjectRepository dans les services.

Analogie

Comme un bibliothecaire specialise : il sait exactement comment chercher, ranger et preter les livres de sa section.

Exemple de code

@Injectable()
export class UserService {
  constructor(
    @InjectRepository(User)
    private repo: Repository<User>,
  ) {}

  findAll() { return this.repo.find(); }
}

Cas d'usage

Effectuer les operations CRUD sur les entites sans ecrire de SQL brut.

Anti-pattern

Utiliser le repository directement dans le controller au lieu de passer par un service.
#database#interview