Bonjour,
Dans les ORM comme JPA (Hibernate, etc.), il existe 2 manières de décrire le mapping entre une classe Java et une table dans un BD. On peut exprimer la correspondance en annotant directement les champs (ou les getters), ou bien on peut décrire la correspondance dans un fichier xml à part. En l'occurrence, dans JPA, il s'appelle orm.xml.
Personnellement, je préfère centraliser les mapping dans orm.xml. Pour deux raisons, la première est que les classes métiers restent intactes, en tout cas n'ont aucune dépendance vers l'API. Cela en facilite leur écriture, leurs tests, et leur réutilisabilité. La seconde raison est, d'après ce que j'ai lu (mais je ne l'ai jamais réellement vérifié par mon expérience), est que orm.xml permet d'accéder à plus de fonctionnalités que par les annotations.
Mais voilà, l'écrasante majorité des exemples et autres tuto utilisent essentiellement les annotations. Donc, je doute… Mes raisons sont-elles bien fondées ? Y-a-t'il des avantages dans les annotations qui m'échappent ?
J'espère que parmi les lecteurs expérimentés de ce post, certains pourront m'éclairer.
Au fait, je suis enseignant... Je maitrise normalement ces technos et mais je souhaite orienter mon cours non pas vers ce qui est spécialement facile ou fun (ça je sais faire!), mais vers ce qui sera le plus utile pour les étudiants lorsqu'ils seront intégrés dans les équipes de développement pro.
Merci d'avance
Partager