Hibernate 多対多マッピングは、1つが他の複数のエンティティインスタンスと関係を持つことができる2つのエンティティ間で作成されます。 たとえば、購読サービスでは、SubscriptionEntity
と ReaderEntity
は 2 種類のエンティティになります。 どんな購読も複数の読者を持つことができ、読者は複数の購読を購読することができる。
Table of contentsHibernate many to many mapping designOwner entityMapped entityConfigure entities in hibernate config fileDemo
Hibernate many to many mapping design
Hibernate 注釈を使用した many to many mapping を示すために、ReaderEntity
と SubscriptionEntity
という 2 つのエンティティを関連付けることにします。
それらのデータベース スキーマは次のようになります。 これらのテーブルを使用して、任意のアプリケーションは、読者と購読の間の複数の関連付けを保存できます。
所有者エンティティ
所有者エンティティは、関連を作成しそれを維持する責任を負うエンティティです。 この例では、ReaderEntity
をオーナーエンティティとしています。
マップされたエンティティ
マップされたエンティティはSubscriptionEntity
で、「mappedBy」属性を使用してReaderEntity
にマップされます。
Hibernate設定ファイルでのエンティティの設定
両方のエンティティを実行時に使用できるようにする必要があります。 これを行うには、hibernate.cfg.xml ファイルに追加する必要があります。
Hibernate many to many 注釈マッピング例
さて、コードをテストする時がやってきました。 私は、上記のエンティティとその多対多の関係をテストするために次のコードを書いています。
プログラム出力:
この例では、アノテーションを使用して、Hibernate 多対多の結合テーブルについて学習しました。 それが私たちが改善できる唯一の方法です。
Yes
No