Red Hat Training
A Red Hat training course is available for Red Hat JBoss Web Server
8.5. 結合テーブルを使った双方向関連
8.5.1. 一対多(One to many)/多対一(many to one)
以下は結合テーブルの双方向一対多関連 の例となっています。
inverse="true"
は関連端、コレクション、結合のいずれかに設定できるようになっています。
<class name="Person"> <id name="id" column="personId"> <generator class="native"/> </id> <set name="addresses" table="PersonAddress"> <key column="personId"/> <many-to-many column="addressId" unique="true" class="Address"/> </set> </class> <class name="Address"> <id name="id" column="addressId"> <generator class="native"/> </id> <join table="PersonAddress" inverse="true" optional="true"> <key column="addressId"/> <many-to-one name="person" column="personId" not-null="true"/> </join> </class>
create table Person ( personId bigint not null primary key ) create table PersonAddress ( personId bigint not null, addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )