TypeORM Relations
NestJS 🟡 MidDefinition
Decorateurs (@OneToMany, @ManyToOne, @ManyToMany, @OneToOne) qui definissent les relations entre entites. Permettent le chargement eager ou lazy.
Analogie
Comme les liens de parente dans un arbre genealogique : chaque relation a un type et une direction.
Exemple de code
@Entity()
export class User {
@OneToMany(() => Order, order => order.user)
orders: Order[];
}
@Entity()
export class Order {
@ManyToOne(() => User, user => user.orders)
user: User;
}
Cas d'usage
Modeliser les associations entre tables et naviguer le graphe d'objets en TypeScript.
Anti-pattern
Charger les relations en eager par defaut, causant des requetes N+1 massives.