• 【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属性:设置该关联表对应在中间表中的外键。

  • 相关阅读:
    关于jstl.jar引用问题及解决方法
    React 解析/ 第二节 使用 Reac
    NOde.js的安装和简介
    JACOB调用控件函数
    Linux 常用命令
    webService接口发布失败问题
    CommonsMultipartFile---用Spring实现文件上传
    验证签名(章)是否有效的方法
    新起点,新征程
    使用C#正则表达式获取必应每日图片地址
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/4829329.html
Copyright © 2020-2023  润新知