7.3.1. 一对多(one to many)

基于连接表的单向一对多关联 应该优先被采用。请注意,通过指定unique="true",我们可以把多样性从多对多改变为一对多。

  1. <class name="Person">
  2. <id name="id" column="personId">
  3. <generator class="native"/>
  4. </id>
  5. <set name="addresses" table="PersonAddress">
  6. <key column="personId"/>
  7. <many-to-many column="addressId"
  8. unique="true"
  9. class="Address"/>
  10. </set>
  11. </class>
  12. <class name="Address">
  13. <id name="id" column="addressId">
  14. <generator class="native"/>
  15. </id>
  16. </class>
  1. create table Person ( personId bigint not null primary key )
  2. create table PersonAddress ( personId not null, addressId bigint not null primary key )
  3. create table Address ( addressId bigint not null primary key )