zoukankan      html  css  js  c++  java
  • 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用来设定那两个字段作为关键去关联

     

     

     

     

  • 相关阅读:
    如何把SQLServer数据库从高版本降级到低版本
    关于如何利用Pocket CHM Pro制作帮助文档
    关于ASP.net TextBox控件的失去焦点后触发其它事件
    由window.history.back()引发的问题
    设置按钮不可用避免重复提交
    【转】一个高端.NET技术人才的2014年度总结
    Zabbix 各种报错信息和遇到的问题处理(持续总结更新~~~~~)
    ASP.NET调用Web Service
    ASP.NET导出bdf文件
    CS文件密码加密类
  • 原文地址:https://www.cnblogs.com/linghao713/p/4571796.html
Copyright © 2011-2022 走看看