Person テーブル ( PersonID
) と Address テーブル ( AddressID
) があります。リレーションシップを使用してPerson_Address
which mapsという名前の新しい結合テーブルを作成したいのですが、主キーを 2 つの主キーの構成として指定する必要があります ( )。Person->Adress
ManyToMany
PersonID - AddressID
Hibernate HBM 構文を使用してそれを行うにはどうすればよいですか?
Person テーブル ( PersonID
) と Address テーブル ( AddressID
) があります。リレーションシップを使用してPerson_Address
which mapsという名前の新しい結合テーブルを作成したいのですが、主キーを 2 つの主キーの構成として指定する必要があります ( )。Person->Adress
ManyToMany
PersonID - AddressID
Hibernate HBM 構文を使用してそれを行うにはどうすればよいですか?
Hibernate で結合テーブルを使用@ManyToMany
して忘れます。結合テーブルはデータベースに存在しますが、コードには存在しません。Hibernate はこれを処理する方法を知っています。
例:
Person クラス (関係の所有者として):
@ManyToMany(targetEntity = Address.class, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = fetchType.LAZY)
@JoinTable(name = "person_address", joinColumns = @JoinColumn(name = "PersonID"), inverseJoinColumns = @JoinColumn(name = "AddressID"))
List<Address> addresses;
住所クラス (必要な場合):
@ManyToMany(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "addresses", targetEntity = Person.class, fetch = FetchType.LAZY)
List<Person> persons;
編集:
このリンクは、多対多の XML マッピングに役立ちます。