sql >> Database teknologi >  >> RDS >> Mysql

Modellering af mange-til-mange forhold i JPA/Dvale

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.



  1. PHP &MySQL opdaterer ikke databasen

  2. Oracle - Sådan opretter du en skrivebeskyttet bruger

  3. Brug af Oracle JDeveloper med MySQL-databasetjeneste på Oracle Cloud Platform, del 3

  4. Hvad er den ideelle datatype at bruge, når du gemmer breddegrad/længdegrad i en MySQL-database?