TypeORM QueryBuilder
NestJS 🔴 SeniorDefinition
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.