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 :

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
);
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
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;
	}
 
}
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.

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