sql >> Database >  >> RDS >> Mysql

Veel-op-veel-relaties modelleren in JPA/Hibernate

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



  1. Hoe Mysql JDBC Driver naar Android Studio te Mysql?

  2. protocolpakketten niet in orde

  3. DB-beveiligingsgroepen kunnen alleen worden gekoppeld aan VPC DB-instanties met behulp van API-versies

  4. mysql-impasse redenen vinden