配置 一对多关系(有外键的一方是多方):
一方写集合,集合需要手动创建
多方写对象,对象不能手动创建
(1)配置多方
public Class Linkman{
private Customer customer;//多个联系人属于一个客户
}
<many-to-one name="一方的属性名(customer)" class="一方的属性的全路径(cn.vo.Customer)"
column="外键的字段(此字段在多方表中)">
(2)配置一方
public Class Customer{
private Set<Linkman> linkmans=new HashSet<Linkman>();//一个客户有多个联系人
}
<set name="集合的名称(linkmans)">
<key column="外键的字段">
<one-to-many class="集合中的对象的全路径(cn.vo.Linkman)">
</set>
cascade:管理级联操作
单向保存需要添加级联保存 : cascade="save-update,delete"
注意:保存的是哪个对象,级联保存就配置在哪个对象中
inverse:管理外键维护
双方维护外键会产生多余的SQL语句
一方来放弃外键的维护:
在<Set>标签上配置一个 inverse="true",
true:表示放弃维护。 默认值是false