TypeORM Entity

NestJS 🟡 Mid

Définition

Classe décorée @Entity qui représente une table de base de données. Chaque propriété décorée (@Column, @PrimaryGeneratedColumn) correspond a une colonne.

Analogie

Comme un plan d'architecte : il décrit la structure exacte de la table a construire.

Exemple de code

@Entity()
export class User {
  @PrimaryGeneratedColumn()
  id: number;

  @Column({ unique: true })
  email: string;

  @Column({ default: true })
  isActive: boolean;
}

Cas d'usage

Définir le schema de la base de données directement dans le code TypeScript avec TypeORM.

Anti-pattern

Ajouter de la logique métier dans l'entité au lieu de la garder comme simple mapping.
#database#interview

En entretien

  1. C'est quoi une Entity TypeORM et comment elle représente une table ?

    C'est une classe décorée @Entity qui représente une table de base de données, où chaque propriété décorée comme @Column ou @PrimaryGeneratedColumn correspond à une colonne, comme un plan d'architecte qui décrit la structure exacte de la table à construire. Ça permet de définir le schema directement en TypeScript.

  2. Est-ce que tu mettrais de la logique métier dans une entité TypeORM ?

    Non, c'est justement l'anti-pattern à éviter : l'entité doit rester un simple mapping vers la table, sans logique métier ajoutée. Cette logique doit vivre dans le service qui utilise le repository.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre