一、many-to-many
1、基本概念
一个雇员可以参加多个项目,一个项目也可以多个雇员参加。
用第三方表pro_emp_tab来描述多对多的关系,该表有两个字段e_id,存储雇员的id,p_id存储项目的id.
2、配置的基本步骤
1、首先在任何一个many方,添加一个Set集合属性,这个属性是用来装载另一个many的对象,
比如在雇员方添加一个集合属性
private Set<Project> sets=new HashSet<Project>();
雇员对象p参加所有项目的都放在集合属性中。
p.getSets();//
2、在雇员配置many-to-many关系
<set name="sets" table="pro_emp_tab">
<key>
<column name="e_id"></column>
</key>
<many-to-many class="cn.com.entity.Project">
<column name="p_id"></column>
</many-to-many>
</set>
其中e_id的数据来源于雇员的id;p_id的属性值来源于项目的id
3、测试和运用many-to-many
4、如果在两个many方都配置好了,那就是双向的many-to-many
二、one-to-many
1、one方是主动方,mang方是被动方,在one方添加属性和配置信息。
2、一个one方包含多个many,所以在one方添加一个集合属性,用来装载many方。
3、配置one-to-many
<set name="sets" table="many方的表名">
<key>
<column name="关联字段(many方的表中一个字段,外键)"></column>
</key>
<one-to-many class="many方"></one-to-many>
</set>
4、测试和应用
one->many
三、many-to-one
1、many方是主动方,one方是被动方,在many方添加属性和配置
2、many添加一个one方的一个对象,
一个学生只能有一个老师
3、配置many-to-one
在many方添加如下代码
<many-to-one name="one方对象名" class="one" >
<column name="关联字段(many方的表中一个字段,外键)"></column>
</many-to-one>
4、测试和应用
四、如果同时配置了one-to-many和many-to-one
则配置好了双向的one-to-many
1、基本概念
一个雇员可以参加多个项目,一个项目也可以多个雇员参加。
用第三方表pro_emp_tab来描述多对多的关系,该表有两个字段e_id,存储雇员的id,p_id存储项目的id.
2、配置的基本步骤
1、首先在任何一个many方,添加一个Set集合属性,这个属性是用来装载另一个many的对象,
比如在雇员方添加一个集合属性
private Set<Project> sets=new HashSet<Project>();
雇员对象p参加所有项目的都放在集合属性中。
p.getSets();//
2、在雇员配置many-to-many关系
<set name="sets" table="pro_emp_tab">
<key>
<column name="e_id"></column>
</key>
<many-to-many class="cn.com.entity.Project">
<column name="p_id"></column>
</many-to-many>
</set>
其中e_id的数据来源于雇员的id;p_id的属性值来源于项目的id
3、测试和运用many-to-many
4、如果在两个many方都配置好了,那就是双向的many-to-many
二、one-to-many
1、one方是主动方,mang方是被动方,在one方添加属性和配置信息。
2、一个one方包含多个many,所以在one方添加一个集合属性,用来装载many方。
3、配置one-to-many
<set name="sets" table="many方的表名">
<key>
<column name="关联字段(many方的表中一个字段,外键)"></column>
</key>
<one-to-many class="many方"></one-to-many>
</set>
4、测试和应用
one->many
三、many-to-one
1、many方是主动方,one方是被动方,在many方添加属性和配置
2、many添加一个one方的一个对象,
一个学生只能有一个老师
3、配置many-to-one
在many方添加如下代码
<many-to-one name="one方对象名" class="one" >
<column name="关联字段(many方的表中一个字段,外键)"></column>
</many-to-one>
4、测试和应用
四、如果同时配置了one-to-many和many-to-one
则配置好了双向的one-to-many