zoukankan      html  css  js  c++  java
  • 一对一关系映射

    hibernate提供了两种一对一关联关系的方式,按照外键映射和按照主键映射.

     一对唯一外键关联映射是多对一关联映射的特例
       可以采用标签,指定多的一端的unique=true,这样就限制了多的一端的多重性为一。

       通过这种手段映射一对一唯一外键关联

    采用主键不要加字段,采用外键是需要加字段的。一对一唯一外键关联其实就是多对一的一个特例,只是限制了unique=true

    的含义就是在多的一端添加一个外键指向一的一端,不过这里要限制唯一性。这种情况下其实还是多对一映射。

    二.hibernate一对一唯一外键关联映射(双向关联Person<-->IdCard)

    一对一唯一外键关联双向,需要在另一端(idcard),添加标签,指示hibernate如何加载
    其关联对象,默认根据主键加载person,外键关联映射中,因为两个实体采用的是person的外键维护的关
    系,所以不能指定主键加载person,而要根据person的外键加载,所以采用如下映射方式

     

    默认是与主键比较,Property-ref=”idCard”会指定与哪一个字段比较.

    加入标签和数据库没有关系,是告诉Hibernate怎么来做这件事,所以数据库不用重新导出,不像因为要在表里加字段

    注: 

    标签 含义:指示如何加载关联对象,或者引用对象,默认根据主键加载,

    标签含义:加入外键在多的一端,指向一的一端

     

    01.(1)保存员工档案的同时分配给员工一个账号..

    在映射持久化对象中的属性时,需要注意一些问题

    Resume1.hbm.xml

    <many-to-many

      name="users1"

      class="cn.happy.entity.Users1"

      column="resuserid"

      cascade="all"  //为了

      unique="true" //表明每一个resume1对象和User1对象之间一对一的关联关系

    />

    Users1.hbm.xml

    <one-to-one name="resume1"

      class="cn.happy.entity.User"

      property-ref="users1"  //表明Resume1的user1属性建立了从User1对象到Resume1对象的关联

    />

  • 相关阅读:
    c#配置文件
    C#预处理指令
    C#面向对象详解
    231. Power of Two
    226. Invert Binary Tree
    C语言函数入参压栈顺序为什么是从右向左?
    对C++ 虚函数的理解
    悲观锁和乐观锁
    什么是索引
    CHAR 和VARCHAR的区别
  • 原文地址:https://www.cnblogs.com/zsping/p/5843020.html
Copyright © 2011-2022 走看看