在数据库里面单向和双向其实没区别,它的区别主要在于java程序里面,如果是双向的,通过wife也能找到husband,如果是单向的,通过wife找不到husband。

主键关联在annotation里面是用@PrimaryKeyJoinColumn,但是做实验并没有发现主键有做关联,所以hibernate的这个有bug,主键关联不重要。

用xml设置,

<class name="StuIdCard"><id name="id"><generator class="foreign"><param name="property">student</param>
</generator>
</id> <property name="num"></property><one-to-one name="student" constrained="true"></one-to-one></class>

先插student,student有了id再插stuIdCard。

在项目中,一对一很少,一对一的主键也很少,所以一般不用。

一对一双向主键关联:

在annotation相关联的两个类都使用@OneToOne  、 @PrimaryKeyJoinColumn

在xml里面

<class name="Student" table="student"><!-- 以下为字段的映射 --><!-- id为主键,name="id"指的是类里面的属性,getId()方法,所以对应的字段还可以指定成别的。因为实体类的属性名和表中字段名一致,所以column=""可以省略了--><id name="id" column="id"><generator class="native"></generator></id> <!-- 普通属性 --><property name="name"></property><property name="age"></property><one-to-one name="stuIdCard" property-ref="student"></one-to-one></class>

<class name="StuIdCard"><id name="id"><generator class="foreign"><param name="property">student</param></generator></id> <property name="num"></property><one-to-one name="student" constrained="true"></one-to-one></class>

转载于:https://www.cnblogs.com/ligui989/p/3465524.html

一对一单双向主键关联相关推荐

  1. 主键能否@onetoone_双向@OneToOne主键关联

    主键能否@onetoone 现在该继续有关Hibernate的文章了. 最后一个致力于单向@OneToOne关联 . 因此,今天我将向您展示如何获取双向@OneTonOne主键关联 . 本教程中基于前 ...

  2. 双向@OneToOne主键关联

    现在该继续有关Hibernate的文章了. 最后一个致力于单向@OneToOne关联 . 因此,今天我将向您展示如何获取双向@OneTonOne主键关联 . 本教程中基于前一篇文章的示例. 让我们开始 ...

  3. Hibernate,关系映射的多对一单向关联、多对一双向关联、一对一主键关联、一对一外键关联、多对多关系关联...

    2018-11-10  22:27:02开始写 下图内容ORM.Hibernate介绍.hibername.cfg.xml结构: 下图内容hibernate映射文件结构介绍 下图内容hibernate ...

  4. hibernate一对一主键关联映射(二)---双向关联

    1.新建工程项目hibernate_one2one_pk_2,加入hibernate所需的Jar包和数据库mysql驱动Jar包. 2.编写工具类HibernateUtils.java和ExportD ...

  5. One2One主键关联的实现

    主键关联,产生主键的是A类,与A相同主键的是B类 主键对应的A类,hbm.xml文件与.cs文件均无任何特别,与单表相同 与A相同的主键B类, Hbm.xml文件: <id name=" ...

  6. hibernate一对一主键关联映射(一)---单向关联

    1.新建工程项目hibernate_one2one_pk_1,添加hibernate所需Jar包和mysql驱动Jar包. 2.建立工具类HihernateUtils.java和ExportDB.ja ...

  7. Spring Data JAP框架处理表关系的步骤(一对一主键关联

    Spring Data JAP框架处理表关系的步骤: 1)确定表和表之间的关系 2)对应表创建实体类 3)在实体类配置注解关联关系 4)测试 一对一表关系的实现方案(主键关联: 1 在Customer ...

  8. 06-hibernate注解-一对多单向外键关联

    一对多单向外键 1,一方持有多方的集合,一个班级有多个学生(一对多). 2,@OneToMany(cascade={CascadeType.ALL}, fetch=FetchType.LAZY ) / ...

  9. Hibernate关系映射 一对一双向外键关联@OneToOne Annotation方式

    首先还是来构造一个实际应用的场景,比如实体类车辆(Car),它具有以下属性:Id,品牌(brand),车牌(lisencePlate):实体类车牌(LisencePlate),它具有以下属性:Id,号 ...

  10. Hibernate一对一关联------主键关联(亲测成功)

    1.创建两个实体(Company.java和Login.java)代码如下: 1 package wck.stu.vo.onetoonein; 2 3 public class Company { 4 ...

最新文章

  1. C# where用法
  2. 【阿里云产品公测】高大上的搜索服务OpenSearch, 你值得拥有!
  3. 仿BlogEngine.NET的cnBlog主题
  4. 将文字自动转为banner打印形式的工具
  5. 牛客 - 减成一(差分数组)
  6. php curl如何解决分页,一段PHP的分页程序,报错,该如何解决
  7. Linux多线程详解
  8. atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
  9. 浅述SATA接口Raid、AHCI、IDE三种模式
  10. msvcr100.dll丢失怎么办?msvcr100.dll丢失的解决方法
  11. 安装双系统/误删导致原来的引导分区中的boot丢失的解决方案
  12. 关于建站、服务器、云虚拟主机你想知道的都在这里!
  13. Electron-Builder打包时报错could not find: “\XXX\0-messages.nsh“
  14. mac 终端 配置代理
  15. Linux账号与身份管理
  16. jquery input change事件
  17. python爬虫,下载歌曲
  18. linux搜索文件内容
  19. Jquery 中 ajaxSubmit 、ajaxForm使用讲解
  20. 企业微信方便做售后吗?企微SCRM_带你体验私域流量新玩法

热门文章

  1. 真狠,为了干掉 HTTP ,Spring团队又开源nohttp了!
  2. 将20M文件从30秒压缩到1秒,我是如何做到的?
  3. 值得收藏:一份非常完整的 MySQL 规范指南
  4. 通知:小密圈暂停服务
  5. 史上最全 Android 面试资料集合
  6. Google I/O 2016到底讲了啥
  7. opengl在三维场景中绘制透明物体_WPF 3D绘图-三维建模技术井眼轨迹图实现(一)...
  8. *第十五周*数据结构实践项目三【B-树的基本操作】
  9. shell中数组的使用
  10. 云中树莓派(3):通过 AWS IoT 控制树莓派上的 Led