Bonjour,
Je suis débutante concernant hibernate et j'ai un problème avec l'héritage et les associations.
J'utilise l'héritage "une table par classe concrète".
La configuration est la suivante :
Habitation -1 ------------------------*-Porte
J'ai une classe mère : habitation qui possède 2 classes filles : maison et appartement.
Ma classe mère possède une association one-to-many vers Porte.
J'ai donc défini dans mes fichiers POJO l'association one-to-many de Habitation vers Porte et many-to-one de Porte vers Habitation :
Code:
[...]
/**
* @hibernate.many-to-one name="HABITATION_PORTE"
* column="HABITATION_ID"
* class="Habitation"
* cascade ="save-update"
*/
public Habitation getHab() {return hab;}
public void setHab(Habitation hab) {this.hab=hab;}
[...]
Mon problème arrive lorsque je génère mes fichiers de mapping (grâce à xdoclet.modules.hibernate.HibernateDocletTask).
Maison et Appartement ont bien hérité de l'association one-to-many vers Porte mais
la classe Porte a conservé une association many-to-one vers Habitation ! :
Code:
[...]
<many-to-one
name="test"
class="Habitation"
cascade="save-update"
outer-join="auto"
update="true"
insert="true"
column="HABITATION_ID"
/>
[...]
Du coup lorsque j'essaye de générer le script de la base de données il cherche Habitation qu'il ne trouve pas !
Est-ce que quelqu'un peu m'expliquer ce que je fais mal ?
Comment obtenir un lien automatique vers les classes-filles de Habitation ?
Merci d'avance.