Hibernate 映射一对多关系

1. 单向一对多
例如Order(一)映射Customer(多),在Order类中增加
private Customer customer; 以及相关的getter setter
在Order.hbm.xml中增加
<many-to-one
  name="customer"
  column="CUSTOMER_ID"
  class="beans.Customer"
  cascade="sava-update"   //极联保存和更新
  not-null="true"
/>

2. 双向一对多(多对多)
在Customer类中增加
private Set orders =  new HashSet(); 及setter getter
注意这里的初始化可以防止在orders为空时的异常
然后在Customer.hbm.xml中增加
<set  name="orders"  cascade="sava-update">  //cacade="delete" 极联删除
  <key column="CUSTOMER_ID" />
  <one-to-many class="beans.Order" />
</set>

3. 自身映射
其实就是把上面两个结合了一下,但要注意变量命名,如
parentCategory, childCategory

你可能感兴趣的:(Hibernate 映射一对多关系)