通常、多対多の関係を実装するには、いくつかの中間テーブルを使用して、他の2つのテーブルからキーをマップする必要があります。
あなたの場合、たとえば、t_students_friendsが必要です。 次のような2つの列を持つテーブル:
t_students_friends
student_pk | friend_pk
エンティティクラスでは、学生や友人のリストが必要になる場合があります。 @ManyToManyに注意してください @JoinTableも必要です 注釈が機能します。学生の友達にアクセスする場合は、Studentに追加します。 クラス:
@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;
Friendも変更する必要があります 次のようにクラス。追加
@ManyToMany(mappedBy="friends")
private List<Student> students;
単純な@Id int idを使用します 学生と同じようにフィールド。 FriendsPKクラスは必要ありません。
詳細については、こちら をご覧ください。 、たとえば。