Bonjour,
Je m'essaye à hibernate, et ma fois c'est pas évident d'en comprendre le fonctionnement.
Je m'explique.
Je tente de mapper 2 classes java : User et ListeUser à 2 tables db2 respectivement USER et LISTE_USER.
voici le code exécuter pour la création de mes 2 tables :
et voici le code de mes classes persistantes.
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 create table PORTEFEUILLES.USER ( ID_USER DECIMAL(15) not null, NOM VARCHAR(50) not null, PRENOM VARCHAR(50) not null, TYPE VARCHAR(50) not null, DN VARCHAR(50) not null, primary key (ID_USER) ); create table PORTEFEUILLES.LISTE_USER ( ID_LISTE_USER DECIMAL(15) not null, ID_USER DECIMAL(15) not null, primary key (ID_LISTE_USER), foreign key (ID_USER) references PORTEFEUILLES.USER (ID_USER) on delete restrict );
Vous l'aurez bien compris il y a une clef étrangère (ou foreign key) de type USER_ID dans ma table LISTE_USER. Ainsi je vais pouvoir à partir d'une liste d'utilisateur, récupérer tous les utilisateurs associés.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124 public class User { private Long id_user; private String nom; private String prenom; private String type; private String dn; /** * @return */ public String getDn() { return dn; } /** * @return */ public Long getId_user() { return id_user; } /** * @return */ public String getNom() { return nom; } /** * @return */ public String getPrenom() { return prenom; } /** * @return */ public String getType() { return type; } /** * @param string */ public void setDn(String string) { dn = string; } /** * @param long1 */ public void setId_user(Long long1) { id_user = long1; } /** * @param string */ public void setNom(String string) { nom = string; } /** * @param string */ public void setPrenom(String string) { prenom = string; } /** * @param string */ public void setType(String string) { type = string; } } import java.util.*; /** * @author alecomte */ public class ListeUser { private Long id_liste_user; //associations private List user; /** * @return */ public Long getId_liste_user() { return id_liste_user; } /** * @return */ public List getUser() { return user; } /** * @param long1 */ public void setId_liste_user(Long long1) { id_liste_user = long1; } /** * @param list */ public void setUser(List list) { user = list; } }
Maintenant comment mapper ces 2 classes dans mes 2 fichiers User.hbm.xml et ListeUser.hbm.xml? Plus particulièrement comment mapper le Set?
Parce que malgré que je relise et relise la doc hibernate et les différents exemples sur le net, il y a des trucs que je ne saisis pas bien.
Si quelqu'un pouvait m'aider à comprendre par exemple le fonctionnement des one-to-many, many-to-one...
Merci d'avance
Partager