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",
[email protected](name="student_pk", referencedColumnName="id"),
[email protected](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.