Bonjour,
j'ai un petit problème quand je veux mapper une arborescence avec Hibernate. Je m'explique :
Le menu de mon application est une arborescence de rubrique. Donc une rubrique possède une rubrique Père et des rubriques Fils.
Les rubriques sont également régionalisées (suivant sa région, l'utilisateur verra ou non la rubrique).
Je veux pouvoir travailler de temps en temps avec les rubriques (non régionalisées) et de temps en temps avec les rubriques régionalisées.
Niveau Bean j'ai donc une classe RubriqueBean et une classe RubriqueRegionaleBean qui hérite de RubriqueBean (et qui contient un attribut de type RegionBean).
La classe RubriqueBean contient un attribut pour contenir la rubrique Père.
Au niveau des tables, j'ai une table RUBRIQUE, une table REGION et une table d'association.
Mon problème est sur le type de l'attribut rubrique Père. Si je lui dit que cet attribut est de type RubriqueBean, et que je veux récupérer l'arborescence des rubriques (non régionalisées), pas de problème. Mais si je veux récupérer l'arborescence des rubriques régionalisées,ça ne fonctionne pas.
Voici mon fichier de mapping Hibernate :
Dois-je faire 2 mapping différents (un pour travailler sur des rubriques et un pour des rubriques régionalisées) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <class name="RubriqueBean" table="RU_RUBRIQUE"> <id name="rubriqueId" type="integer"> <column name="RU_ID" precision="38" scale="0" /> <generator class="assigned" /> </id> <property name="libelle" type="string"> <column name="RU_LIBELLE" length="200" not-null="true" /> </property> <property name="borneGauche" type="integer"> <column name="RU_BG" precision="38" scale="0" /> </property> <property name="borneDroite" type="integer"> <column name="RU_BD" precision="38" scale="0" /> </property> ... <many-to-one name="rubriquePere" column="RU_IDPERE" insert="false" update="false" fetch="join"/> <set name="rubriquesFils" table="RU_RUBRIQUE" inverse="true"> <key column="RU_IDPERE"/> <many-to-many class="RubriqueBean" column="RU_ID"/> </set> <joined-subclass name="RubriqueRegionaleBean" table="DR_DROIT"> <key column="RU_ID" /> <many-to-one name="regionBean" class="RegionBean" fetch="select"> <column name="RE_ID" precision="38" scale="0" not-null="true" /> </many-to-one> <property name="classement" type="double"> <column name="DR_CLASSEMENT" precision="38" scale="0" /> </property> ... </joined-subclass> </class>
J'espère que suis assez clair...
Merci d'avance
Partager