Hibernate一对多双向关联映射
1.需求:班级和学生
2.Javabean设计
3.映射配置
4.测试
5.总结
1javabean 设计
Clazz班级: 一的一端,对应多个学生
Student学生: 多的一端,对应一个班级
2.配置映射文件
学生端配置(加载类的映射文件前面博客有写到不做重复)
//映射关键点
1.映射的Clazz属性:clazz
2.映射的Clazz对象对应的外键;classnum(数据库中的字段)
3.对应的Clazz类型:Clazz
<many-to-one name=”clazz” column=”classnum” class=”Clazz”>
</many-to-one>
班级端配置
//映射关键点
映射的集合属性:stus
集合属性对应的表:student_t(可以省略)
对应的外键:clazzid
对应的类型:Student
<one-to-many name=”stus” >
<key =”clazznum”>
<class=”Student”>
</one-to-many>
3.3.测试
结果
总结:
在一对多与多对一的关联关系中,保存数据最好的通过多的一方来(先保存一的一方)维护关系,这样可以减少update语句的生成,从而提高hibernate的执行效率!
配置一对多与多对一,这种叫“双向关联”
只配置一对多, 叫“单项一对多”
只配置多对一, 叫“单项多对一”
注意:
配置了哪一方,哪一方才有维护关联关系的权限!