Hibernate一对多双向关联映射

Hibernate一对多双向关联映射

1.需求:班级和学生

2.Javabean设计

3.映射配置

4.测试

5.总结

1javabean 设计

Clazz班级: 一的一端,对应多个学生

 Hibernate一对多双向关联映射

Student学生: 多的一端,对应一个班级

 

 Hibernate一对多双向关联映射

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.测试

 Hibernate一对多双向关联映射

结果

 

 Hibernate一对多双向关联映射

Hibernate一对多双向关联映射

总结:

  在一对多与多对一的关联关系中,保存数据最好的通过多的一方来(先保存一的一方)维护关系,这样可以减少update语句的生成,从而提高hibernate的执行效率!

配置一对多与多对一,这种叫“双向关联”

只配置一对多,           “单项一对多”

只配置多对一,           “单项多对一”

 

注意:

配置了哪一方,哪一方才有维护关联关系的权限!

Hibernate一对多双向关联映射