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用来设定那两个字段作为关键去关联
时间: 2024-10-11 09:34:24