Bonjour,
Je débute avec hibernate, et même en lisant plusieurs tutoriaux et en parcourant le forum, je suis bloqué sur les mappings de relation manytoone.
Histoire de comprendre une bonne fois pour toute, je voudrais juste réaliser quelque chose de tout simple :
J'ai une table Famille :
Famille.idFamille
Famille.libelle
une table SousFamille :
SousFamille.idFamille
SousFamille.libelle
SousFamille.idFamille <--- clef etrangere
Au niveau des fichiers de mapping je pense que je devrais avoir :
Famille.hbm.xml :
SousFamille.hbm.xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <hibernate-mapping> <class dynamic-insert="false" dynamic-update="false" mutable="true" name="BD.Famille" optimistic-lock="version" polymorphism="implicit" select-before-update="false" table="famille"> <id column="IdFamille" name="IdFamille" type="integer"> <generator class="native"/> </id> <property column="Libelle" name="Libelle" type="string"/> <many-to-one class="BD.Sousfamille" name="IdFamille"/> <set name="SousFamilles" inverse="true"> <key column="IdFamille"/> <one-to-many class="BD.SousFamille"/> </set> </class> </hibernate-mapping>
Tout d'abord est ce que ces fichiers de mapping semblent correct ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <hibernate-mapping> <class dynamic-insert="false" dynamic-update="false" mutable="true" name="BD.Sousfamille" optimistic-lock="version" polymorphism="implicit" select-before-update="false" table="sousfamille"> <id column="IdSousFamille" name="IdSousFamille" type="integer"> <generator class="native"/> </id> <property column="Libelle" name="Libelle" type="string"/> <many-to-one name="IdFamille" column="IdFamille" not-null="true"/> </class> </hibernate-mapping>
Ensuite dans mes deux classe java comment dois je représenter cette relation ?
Tout ce que je désire, c'est lorsque je supprime une famille, les sousfamilles liées soient supprimées, et lorsque je recherche des sousfamilles, cela puisse etre en fonction d'une famille.
Si quelqu'un peut me donner quelques conseils, merci beaucoup !
Partager