Mapping
Déclarer une entité qui survivra à la production, pas seulement au premier test.
Mapping d'entités
Déclarer une entité JPA prend trois annotations. Déclarer une entité qui ne posera pas de problème dans deux ans en demande une dizaine de décisions, dont quatre sont irréversibles une fois qu'il y a des données en base.
La plus coûteuse de ces décisions concerne les énumérations. Le réglage par défaut de JPA stocke une énumération sous forme d'entier positionnel : EN_ATTENTE devient 0, PAYEE devient 1. Le jour où un développeur insère une valeur au milieu de la liste — ce que tout langage de programmation autorise sans conséquence — toutes les lignes déjà écrites changent de sens. Les commandes payées deviennent des commandes annulées. Il n'y a aucun message d'erreur, aucune exception : seulement des données qui ne veulent plus dire ce qu'elles disaient.
La deuxième décision coûteuse est celle de la clé primaire, parce qu'elle détermine si les écritures peuvent être regroupées en lots. La troisième est le choix entre un champ simple et un type valeur partagé. La quatrième est la stratégie d'héritage, qui fixe la forme des tables et donc le coût de toutes les lectures futures.
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion