TypeORM QueryBuilder

NestJS 🔴 Senior

Definition

API fluide pour construire des requetes SQL complexes avec TypeORM. Supporte les jointures, sous-requetes, groupements et requetes paginee.

Analogie

Comme assembler une requete en Lego : tu ajoutes chaque piece (clause) une par une pour construire la requete finale.

Exemple de code

const users = await this.repo
  .createQueryBuilder('user')
  .leftJoinAndSelect('user.orders', 'order')
  .where('user.isActive = :active', { active: true })
  .orderBy('user.createdAt', 'DESC')
  .take(10)
  .getMany();

Cas d'usage

Construire des requetes complexes avec jointures, filtres dynamiques et pagination.

Anti-pattern

Concatener du SQL brut au lieu d'utiliser les parametres bindables, ouvrant la porte aux injections SQL.
#database#interview