comment mapper une class fille qui herite d 'une class mere avec hibernate . la doc officielle est tres ambigu sur ce point .
merci![]()
comment mapper une class fille qui herite d 'une class mere avec hibernate . la doc officielle est tres ambigu sur ce point .
merci![]()
svp c est urgent , si qulequn a deja fait ce type de mapping qu il me donne un fil
merci![]()
soit j'ai mal compris la question, soit t'as mal lu la doc. Parceque les héritages sont plutôt pas mal expliqués. t'as deux façons simples de faire : 1 table par hiérarchie de classe (ça veut dire que ta table contient les infos de la classe mère + celle de la classe fille courante), une table par classe fille (ta table mère + 1 table par classe qui dérivent de ta table mère qui ne contiennent que leurs infos à eux.
Après les autres exemples qu'il donnent j'ai jamais eu l'occasion d'essayer, mais la stratégie, "une table par classe fille" en utilisant le "joined-subclass" ça marche nickel.
j ai compris ca , mais le probleme c est dans les fichier de mapping classMere.hbm.xml si on fait dans la classe mere <joined-subclass> quesqu on fait dans le fichier classFille.hbm.xml prce que dans la doc il parle de relation <one-to-one> mais sans montrer comment ca ce fait
Tu n'as rien a faire normalement dans ta classe fille puisqu'a l'aide du tag <joined-subclass>, tu mappes par la même occasion la classe fille.
Après, je ne sais pas encore si il y a moyen de séparer leur mapping lorsque l'on rencontre un cas d'héritage...
Bon je n'ai pas le source dans lequel j'avais fais ça mais de mémoire il me semble que ce que j'avais fais ne ressemble pas tout à fait à ce qu'il y a dans la doc.
Il me semble que dans ClasseMere.xml.hbm j'avais la déclaration de ma classe mere comme d'habitude (sans références aux classes filles) et dans ClasseFille.xml.hbm la déclaration de la relation d'héritage avec
Sinon si t'as déja ta base de donnés, Hibernate Synchronizer peut te générer ce mapping en reverse engineering.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <joined-subclass name="MaClasseFille1" table="maTableFille1"> <key column="colonne_cle" /> <property .... /> </joined-subclass>
Partager