一對多關系配置
- 建立表
-
建立實體
one類
public class One{
private String teacher;
//放置多的一方類的集合
private set<Many> many=new Hashset<Many>();
}
many類
public class Many{
private String student;
//放置一的一方類的對象
private String teacher;
}
-
建立映射配置
one的映射
<set name=" Many " >
<key colum =" 外鍵名稱 ">
<one-to-many class=“Many的全路徑”>
</set>
many的映射
<many-to-one name="One" class="one的全路徑" column=''外鍵名稱">
多對多關系配置
1.建立表格(三張表,兩個屬性表,一個中間表)
-
建立實體類
many類
public class Many{
private Long many_id;
private String many_name;
private Set<Litter> litter=new HashSet<Litter>();
}
Litter類
public class Litter{
private Long litter_id;
private String litter_name;
private Set<Many> many= new HashSet<Many>();
}
-
配置映射檔案
Many的映射
<set name="litter" table="中間表的名稱">
<key column="Many對象對應中間表中外鍵的名稱">
<many-to-many class="Litter類的全路徑" column="Litter在中間表中的外鍵名">
</set>
Litter的映射
<set name="many" table="中間表的名稱">
<key column="Litter對象對應中間表中外鍵的名稱">
<many-to-many class="Many類的全路徑" column="Many在中間表中的外鍵名">
</set>
級聯操作
操作一個對象的時候,是否會同時操作其關聯的對象
-
一對多的級聯操作(儲存操作)
使one的一方放棄外鍵維護權配置one.hbm.xml中配置cascade=“save-update” inverse=“true”
many則配置cascade=“save-update”