zoukankan      html  css  js  c++  java
  • 【Java EE 学习 46】【Hibernate学习第三天】【多对多关系映射】

    一、多对多关系概述

      以学生和课程之间的关系为例。

      1.在多对多关系中涉及到的表有三张,两张实体表,一张专门用于维护关系的表。

      2.多对多关系中两个实体类中应当分别添加对方的Set集合的属性,并提供set和get方法。

      3.在配置映射文件的时候较一对多关系复杂。

    二、映射文件

    <set name="students" table="course_stu" cascade="save-update" inverse="true">
            <!-- 现在讲inverse属性设置为true,这样就不能通过Course的配置文件维护Course和Stu之间的关系了 -->
                <key>
                    <column name="cid"></column>
                </key>
                <many-to-many class="com.kdyzm.moretomore.domain.Stu">
                    <column name="sid"></column>
                </many-to-many>
            </set>

      多对多关系映射文件书写解释:

      set标签:

        name属性:持久化类中的set集合的属性名称

        table属性:中间表的表名

        cascade属性:重要的属性,该属性能够将级联对象的状态从其他状态转变成持久化状态,而不抛出异常。

        inverse属性:配置是否维护关系;如果是true,则不维护关系,如果是false,则维护关系。

      key标签:设置外键,即中间表course_stu表中的外键,表示通过course_stu表通过该字段能够找到当前表。

      many-to-many标签:设置关联表

        class属性:设置关联表对应的持久化类

        column属性:设置该关联表对应在中间表中的外键。

  • 相关阅读:
    16.Linux yum扩展
    15.Linux软件管理
    11.Linux用户特殊权限
    10.Linux用户权限
    9.Linux用户管理(下)
    8.Linux用户管理(上)
    6.Linux文件属性及软硬链接
    5.Linux文件管理相关命令(下)
    如何解决微服务分布式事务问题
    Redis缓存和MySQL数据一致性方案(转)
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/4829329.html
Copyright © 2011-2022 走看看