Bonjour,
je suis en train de mapper un graphe d'objet avec Hibernate et j'emploie à un moment des interfaces. Voici mon problème :
J'ai une classe Page qui contient un HasSet d'interface "ElementPage". C'est une relation one-to-many :
J'ai trois classes "Champ", "Bloc" et "Texte" qui implementent l'interface "ElementPage" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
Mon fichier de mapping pour la classe "Page" est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Mon fichier de mapping pour la classe "Champ" est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10<hibernate-mapping ....> <class name="Page" table="t_page" > .............. <set name="elementPages" inverse="true"> <key column="PAGE_ID" /> <one-to-many class="ElementPage" /> </set> </class> </hibernate-mapping>
Mon fichier de mapping pour la classe "Bloc" est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7<hibernate-mapping ....> <class name="Champ" table="t_champ" > .............. <many-to-one column="PAGE_ID" name="page" class="Page" /> </class> </hibernate-mapping>
Mon fichier de mapping pour la classe "Texte" est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7<hibernate-mapping ....> <class name="Bloc" table="t_bloc" > .............. <many-to-one column="PAGE_ID" name="page" class="Page" /> </class> </hibernate-mapping>
Mon problème est de savoir si cette configuration va passer, si le fait de déclarer un HashSet d'interface avec cette interface pouvant être implémentée par trois classes différentes qui vont être mappées à trois tables respectivement va passer, si au niveau du fichier de mapping tout se passe comme si j'avais des relations entre classes directement, plutôt que passer par l'intermédiaire d'interface.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7<hibernate-mapping ....> <class name="Texte" table="t_texte" > .............. <many-to-one column="PAGE_ID" name="page" class="Page" /> </class> </hibernate-mapping>
Merci d'avance pour vos réponses.
Xavier

 

 
		
		 
        

 
			
			


 
   


 hibernate et interface
 hibernate et interface
				 Répondre avec citation
  Répondre avec citation
Partager