Bonjour,
J'ai un soucis pour caster l'objet retourner par un list.get() après une SELECT exécutant une jointure.
Voici le code exécuté :
La liste contient 3 objets, mais je ne sais pas de quel type caster ces objets pour pouvoir les utiliser...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Query query = session.createQuery("FROM Users u LEFT JOIN u.Usersaddress"); List result = query.list(); // RETOURNE 3 System.out.println(result.size()); // CAST ERROR Users u = (Users)result.get(0);
J'ai utiliser le pluggin synchronizer dans eclipse pour générer mes fichiers de mapping .hbm.xml, qui génère également les fichiers .java relatif.
Il s'agit d'une relation one-to-many, 1 Users peut avoir N Adress mais, 1 Adress n'a qu'1 seul Users.
Les fichiers de mapping pour Users et Usersadress ressemble à ca :
Et tant donné qu'il s'agit d'une relation one-to-many je ne veux pas créer une table de jointure externe, ce qui serait complètement illogique bien que suggeré par hibernate, pourquoi créer une table externe, modifier le schéma d'une base de donnée pour faire fonctionner hibernate... ??? dans le cas de relation many-to-many il va de soit mais pas pour une relation one-to-many ou many-to-one.
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
38
39
40
41
42
43 <hibernate-mapping package="org.nasr.database"> <class name="Users" table="users"> <meta attribute="sync-DAO">false</meta> <id name="Id" type="integer" column="ID_USER" > <generator class="increment"/> </id> <set name="Usersaddress" inverse="true"> <key column="ID_USER"/> <one-to-many class="Usersaddress"/> </set> </class> </hibernate-mapping> <hibernate-mapping package="org.nasr.database"> <class name="Usersaddress" table="usersaddress"> <meta attribute="sync-DAO">false</meta> <id name="Id" type="integer" column="ID" > <generator class="increment"/> </id> <many-to-one name="IdUser" column="ID_USER" class="Users" not-null="true" /> </class> </hibernate-mapping>
Simplement j'aimerai savoir de quel type casté ces objets... merci !
Partager