zoukankan      html  css  js  c++  java
  • Hibernate的学习(二)

    ---恢复内容开始---

    一、多表的建表原则

    1、一对多的关系:例如 一个客户有多个联系人;

      表与表一对多的关系:在一对多时,多的表中添加一个外键,用来和一的表的主键。产生联系。

    2、多对多的关系:例如 :一个用户可以有多个角色,一个角色可以包含多个用户;

     多对对建表原则:创建第三张表(中间表),在中间表中至少两个字段,这两个字段分别指向多对多两个表的主键。(中间表和这两张表都是一对多关系)

    3、一对一的关系:例如 一个人只能有一个身份证,一个身份证只能有一个人

      建表:假设是一对多,在多的一方创建外键,指向一的主键,将外键设置为unique

    二、配置映射文件

    1.一对多(例如:Customer 和 LinkMan : 客户和联系人)

    (1)在持久化类中,一的一方(LinkMan)创建多的一方(Customer)创建主键的方式:创建一个该类的对象

           

       在LinkMan.hbm.xml中添加外键设置

       

        

    (2)在持久化类中,多的一方(Customer)创建一的一方(LinkMan)创建主键的方式:创建一个Set集合

          

      在Customer.hbm.xml中添加设置()

         

     (3)设置级联更新

    (4)设置级联删除  cascade="delete"

      (5) 设置外键维护权:inverse = “false”:表示有外键维护权

    二、对表对多表

    1.在持久化类中分别设置Set<Class?> 对象;

    2.配置映射文件

     name : 在持久化类中的set集合的对象名称;

     table : 是第三方表的表名;

     inverse : 被动方设置为没有外键维护权;

      key column = " 在第三方表中本表的主键名";

    3.多对多的其他操作

    
    
    
    
    
    
    
    

    ---恢复内容结束---

  • 相关阅读:
    C语言博客作业06--结构体&文件
    C语言博客05--指针
    C语言博客作业04--数组
    LeetCode错题集
    C博客作业--指针
    深入浅出强化学习:原理入门(待更新)
    Detectron2环境配置+Ubantu+CUDA10.1+pytorch1.7.0
    论文记载:A Survey on Traffic Signal Control Methods
    论文记载:FRAP:Learning Phase Competition for Traffic Signal Control
    周博磊老师强化学习纲领笔记第三课:无模型的价值函数估计和控制
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10568134.html
Copyright © 2011-2022 走看看