Red Hat Training

A Red Hat training course is available for Red Hat JBoss Web Server

8.3. 結合テーブルを使った単方向関連

8.3.1. 一対多(One-to-many)

結合テーブルを使った単方向一対多関連 では こちらのオプションが推奨されています。unique="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>
</class>
create table Person ( personId bigint not null primary key )
create table PersonAddress ( personId not null, addressId bigint not null primary key )
create table Address ( addressId bigint not null primary key )