Hibernate映射多对多关联关系

来源:互联网 发布:当程序员好吗 编辑:程序博客网 时间:2024/06/05 07:21

  前边我们讲过了Hibernate如何在域模型和关系数据模型中映射一对一的关联关系,分为外键方式和主键方式两种,外键方式其实就是和双向一对多差不多,不同的是在多的一方需要为外键添加一个unique唯一的约束。主键方式其实就是将两方表格的主键一一对应,且需要将其中一方的主键的生成方式设置成foreign,并为其添加一个constraint约束。

  今天我们来讲一讲如何用Hibernate实现多对多的关联关系的映射。

  1.单向的多对多关联关系(以Category和Item为例)

  ① 域模型

  在Category当中含有一个Item的集合对象

  ② 数据关系模型

  在数据库中,Categorys和Items之间使用第三张中间表格来关联多对多的关联关系。

  ③ hbm.xml配置文件

  <set name="集合变量名" table="中间表名">

      <key >

            <column name="c_id" />

      </key>

      <many-to-many class="Item" column="i_id">

  </set> 

 2.双向的多对多关联关系

  我们只需要在单向的关联关系之上在双方的类中都添加对方的集合属性,并且在双方的hbm.xml文件中都同时指定一个set集合并交叉关联中间表的外键即可。

原创粉丝点击