J'ai une relation ManyToMany entre ma table User et Profile. J'ai donc fait une table de relation UserProfile avec 3 champs : id (clé primaire), id_user (clé étrangère), id_profile (clé étrangère).

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
 
public class User implements Serializable {
private static final long serialVersionUID = 1L;
 
@Id
private Integer id;
 
private String email;
@JsonBackReference
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<UserProfile> userProfiles = new ArrayList<UserProfile>();
 
public User() {
}
 
  GETTER / SETTER
}
 
 
public class Profile implements Serializable {
private static final long serialVersionUID = 1L;
 
@Id
private Integer id;
 
private String libelleProfile;
 
@JsonManagedReference
@OneToMany(mappedBy="profile", cascade = CascadeType.ALL)
private List<UserProfile> userProfiles = new ArrayList<UserProfile>();
 
GETTER / SETTER
}
 
public class UserProfile implements Serializable {
private static final long serialVersionUID = 1L;
 
@Id
private Integer id;
 
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "idUser")
private User user;
 
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "idProfile")
private Profile profile;
}
Le problème c'est que cela ne me retourne pas les profils de mon utilisateur. Voici ce que cela me retourne :
{ "id": 1, "email": "userEmail"}