sql >> データベース >  >> RDS >> Mysql

JPA/Hibernateでの多対多の関係のモデリング

    通常、多対多の関係を実装するには、いくつかの中間テーブルを使用して、他の2つのテーブルからキーをマップする必要があります。

    あなたの場合、たとえば、t_students_friendsが必要です。 次のような2つの列を持つテーブル:

    t_students_friends

    student_pk | friend_pk

    エンティティクラスでは、学生や友人のリストが必要になる場合があります。 @ManyToManyに注意してください @JoinTableも必要です 注釈が機能します。学生の友達にアクセスする場合は、Studentに追加します。 クラス:

    @ManyToMany
    @JoinTable(
      name="t_students_friends",
      [email protected](name="student_pk", referencedColumnName="id"),
      [email protected](name="friend_pk", referencedColumnName="id"))
    private List<Friend> friends;
    

    Friendも変更する必要があります 次のようにクラス。追加

    @ManyToMany(mappedBy="friends")
    private List<Student> students;
    

    単純な@Id int idを使用します 学生と同じようにフィールド。 FriendsPKクラスは必要ありません。

    詳細については、こちら をご覧ください。 、たとえば。



    1. mysql integerフィールドに格納されている場合、数値がゼロで始まることを許可します

    2. RailsでPostgresUUIDを使用するときにPG::InvalidTextRepresentationエラーを回避する

    3. JqgridPaginationのデータをフェッチするためのストアドプロシージャの記述の難しさ

    4. 式インデックスの検索