hibernate中多对多关联

hibernate中多对多关联

“计应134(实验班) 凌豪”

在关系数据库中有一种常见的关系即多对多关系,例如课程和学生的关系,一个学生可以选择多门课程,同时一门课程也可以被多个学生选择,

因此课程与学生的关系就可以看成是多对多的关系,其中课程表的结构如下图所示:

学生表user

在关系数据库中不能直接建立多对多关联,要想建立这种多对多的关系只能借助第三张中间表,

因此为了建立这种多对多的关系我们需要建立第三张表User_course

为了实现表的多对多关联,需要在两个表的Hibernate配置文件中进行配置,首先,<set>元素要指定一个table属性,其值为关联的

表名。<key>子元素中的column属性为关联表中关联到自己的字段名,然后是<many-to-many>子元素。与<one-to-many>相似,需要设置两个属性

,其中class用来设置关联属性的类型,column用来设定那两个字段作为关键去关联(其中Eclipse为我们提供了非常强大的功能,为了更加方便我们可以使用

eclipse方向生成实体类来自动生成配置文件以此来出去许多不必要的操作)以下就是eclipse自动生成的配置文件,我们可根据自己的实际情况进行相应的更改

下面我们写一个测试类为课程表添加两门课程以及学生选课的操作:

总结:多对多关联中注意要添加cascade级联   

 在两个表的Hibernate配置文件中进行配置时首先,<set>元素要指定一个table属性,其值为关联的

表名。<key>子元素中的column属性为关联表中关联到自己的字段名

然后是<many-to-many>子元素。与<one-to-many>相似,需要设置两个属性

其中class用来设置关联属性的类型,column用来设定那两个字段作为关键去关联

 

 

 

 

posted @ 2015-06-12 15:27  一个人一座城  阅读(268)  评论(0编辑  收藏  举报