Intérêt de l’ORM
Il existe un réel débat
qui alimente les forums Internet sur l’utilité ou
non des ORM. Sans rentrer dans celui-ci essayons de regarder quelques
points incontestables.
Quelques critiques souvent mentionnées
concernant les ORM
Une couche supplémentaire, comme
toute automatisation, est une perte de maîtrise et donc
une perte de finesse.
Un ORM masque les échanges avec la
base, donc le programmeur perd le contrôle direct sur
les requêtes SQL envoyées par l’ORM au
SGBD.
Bien sûr certains ORM permettent
un paramétrage fin pour optimiser les requêtes à la
base de données, mais souvent avec une charge de travail
additionnelle finalement plus importante que celle de créer
les requêtes directement.
Les requêtes générées
par un ORM sont parfaites pour les actions de type « CRUD » (Create, Read, Update, Delete), elles peuvent être moins efficaces pour des
requêtes de type SELECT, surtout si l’on a des
requêtes complexes avec des jointures.
Il est possible de comparer ce débat à celui
de savoir s’il faut programmer en assembleur ou en langage évolué.
Ce débat en matière de langages a été tranché il
y a longtemps : on utilise les deux, mais cela dépend de
ce que l’on a à faire. On réserve l’assembleur à des
tâches critiques et pour la plupart ...