Bonjour,
j'ai un blanc sur la question de savoir comment gérer une liste de User par un User avec Hibernate.
Ma problématique est simple : j'ai des objets "User" qui ont une liste de contacts, donc de "User". Comment persister cette relation dans ma base de données alors que je n'ai pas de classe avec laquelle faire mon "mapped by" ?
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 public Class User { @Id private Long idUser; @OneToMany private List<User> mesContacts; public User () { mesContacts = new List<User>(); } ... }
En réalité je ne sais pas si le OneToMany est la meilleure option.
Je pensais faire un ManyToMany qui me semblait plus proche de la réalité, mais n'ai pas de classe pour faire le "mapped by" puisque il s'agit d'une relation de l'entité vers elle-même.
Faut-il que je crée une nouvelle entité, que j'appellerais "Relationship" par exemple, de sorte à obtenir quelque chose comme ça :
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 public Class User { @Id private Long idUser; @OneToMany private List<Relationship> mesContacts; public User () { mesContacts = new List<Relationship>(); } ... } public Class Relationship{ @Id private Long idRelationship; @ManyToOne (mapped by "mesContacts") private User contact; public Relationship (User user) { contact = user; } ... }
Merci d'avance pour vos conseils.
fred
Partager