Om een veel-op-veel-relatie te implementeren, moet je meestal een middelste tabel gebruiken om sleutels van twee andere tabellen toe te wijzen.
In jouw geval heb je bijvoorbeeld t_students_friends . nodig tabel met twee kolommen zoals de volgende:
t_students_friends
student_pk | friend_pk
In je entiteitslessen heb je misschien lijsten nodig voor studenten en/of vrienden. Merk op dat @ManyToMany vereist ook een @JoinTable annotatie aan het werk.Als je toegang wilt tot vrienden van een student, voeg dan toe aan je Student klas:
@ManyToMany
@JoinTable(
name="t_students_friends",
example@sqldat.com(name="student_pk", referencedColumnName="id"),
example@sqldat.com(name="friend_pk", referencedColumnName="id"))
private List<Friend> friends;
Je moet ook Friend aanpassen klasse als volgt. Toevoegen
@ManyToMany(mappedBy="friends")
private List<Student> students;
en gebruik eenvoudige @Id int id veld zoals u doet in Studenten. Een FriendsPK-les is niet nodig.
Voor meer informatie kun je hier lezen , bijvoorbeeld.