Salut Tous le monde,
j'ai eu un bloc en hibernate ça fait des heures que cherche une solution je n'ai pas abouti
je ss nouveau dans ce Forum et j'espère avoir de l'aide
je vais être Bref, le problème c'est dans la mise à jour en Hibernat je voudrais
faire la mise à jour d'un objet qui contient un autre objet
ma classe utilisateur chaque utilisateur à un Rôle dans ma BD le role est un String mais dans ma classe c'est un objet parce que c'est une clé étrangère
bref, je veux effectuer la mise à jour de ce role en affectant à l'utilisateur un autre rôle different de celui qu'il avait
en update simple exemple modifier le mot de passe pas de problème ça marche mais comment faire pour modifier le nom Role se trouvant dans l'objet role
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 public class Utilisateur { private String nom_user; private String password; private Role role; public String getNom_user() { return nom_user; } public void setNom_user(String nom_user) { this.nom_user = nom_user; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } }
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 import java.util.HashSet; import java.util.Set; public class Role { private String nom_role; private String description; private Set utilisateurs=new HashSet(); private Set profils=new HashSet(); public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getNom_role() { return nom_role; } public void setNom_role(String nom_role) { this.nom_role = nom_role; } public Set getUtilisateurs() { return utilisateurs; } public void setUtilisateurs(Set utilisateurs) { this.utilisateurs = utilisateurs; } public Set getProfils() { return profils; } public void setProfils(Set profils) { this.profils = profils; } public void addUtilisateur(Utilisateur u) { utilisateurs.add(u); u.setRole(this); } public void addProfil(Profil p) { profils.add(p); p.setRole(this); } }si je change le mot de passe ss prob ça marche, mais pour le rôle comment on procede merci de m'aider et je vous serai trés reconnaissant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public void UpdateUser(String name,String Newname,String pass,String role) { Session session=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Utilisateur u=(Utilisateur)session.load(Utilisateur.class,name); u.setNom_user(Newname); u.setPassword(pass); Role r=u.getRole(); r.setNom_role(role); session.update(r); session.update(u); session.getTransaction().commit(); }
Merci d'avance
Partager