Qu'est-ce que ORM
Mappage d'objets vers des bases de données relationnelles
ORM (Object-Relational Mapping) est une technologie de programmation permettant de travailler avec des bases de données via des objets dans le code sans écrire manuellement des requêtes SQL.
Fonctionnement
- Les tables de BD correspondent aux classes dans le code
- Les lignes de table sont des instances d'objets
- Les colonnes sont des propriétés d'objets
- Les relations entre tables sont des références d'objets
Avantages
- Abstraction SQL — travailler avec des objets au lieu de requêtes
- Sécurité — protection contre les injections SQL
- Portabilité — changer de base de données sans modifier le code
- Productivité — moins de code répétitif
Inconvénients
- Dégradation des performances sur les requêtes complexes
- Couche d'abstraction supplémentaire
- Courbe d'apprentissage pour les fonctionnalités avancées
ORM populaires
- Python: SQLAlchemy, Django ORM
- JavaScript: Prisma, TypeORM, Sequelize
- Java: Hibernate, JPA
- C#: Entity Framework
- Ruby: ActiveRecord