For at implementere en mange-til-mange-relation skal du normalt bruge en mellemtabel til at kortlægge nøgler fra to andre tabeller.
I dit tilfælde har du brug for f.eks. t_students_friends tabel med to kolonner som følgende:
t_students_friends
elev_pk | friend_pk
I dine enhedsklasser har du muligvis brug for lister til studerende og/eller venner. Bemærk at @ManyToMany kræver også en @JoinTable annotation til arbejdet. Hvis du vil have adgang til venner af en studerende, skal du tilføje til din Student klasse:
@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;
Du bør også ændre Friend klasse som følger. Tilføj
@ManyToMany(mappedBy="friends")
private List<Student> students;
og brug simpelt @Id int id felt, som du gør i Studenter. Det er ikke nødvendigt i en FriendsPK-klasse.
For mere information kan du læse her , for eksempel.