Bonjour,
J'aurai voulu savoir quel était la meilleur solution pour mapper de l'héritage sachant que j'ai besoin du polymorphisme.
Merci d'avance pour vos réponses.
Bonjour,
J'aurai voulu savoir quel était la meilleur solution pour mapper de l'héritage sachant que j'ai besoin du polymorphisme.
Merci d'avance pour vos réponses.
Je suppose qu'au préalable tu as lu la documentation d'Hibernate sur ce sujet. Comme souvent, il n'y a pas de meilleure solution cela dépends de tes données car le résultat au niveau des classes sera identique.
Si tu as beaucoup de données dans la classe de base et peu dans les sous classes et que tu as besoin de la hiérarchie uniquement pour appliquer différents traitements alors la solution table per hierarchy semble être celle qui convient le mieux.
Sinon, si tu as beaucoup de données dans les classes filles alors il sera probablement préférable de faire soit du table per subclass ou table per concrete class. La différence entre les deux étant que dans le deuxième cas tu n'as plus de table parente, il y a donc redondance au niveau des colonnes.
Dernier point, dans le premier cas tu perds la possibilité de faire des contraintes de type 'not-null' car tu n'as qu'une seule table. Tu dois donc vérifier l'intégrité des données dans ton code.
D'abord merci pour ta réponse.
En effet, j'ai bien lu la documentation d'hibernate mais n'ayant pas assez de recule pour savoir qu'elle est la meilleur solution à adopter, je me suis permis de poster ma question sur le forum.
Par rapport à ce que tu me dis, je vais utiliser la stratégie "table per concrete class" étant donné que toute mes classes héritent d'une seule classe et que celle-ci ne contient que deux attributs.
Partager