JPA注解实现one-to-one的主键关联映射
作者:xyzroundo
假设两个数据表的主-从表:
Tb_Account(.... , primary key (ac_id)),Tb_ContactInfo(..., primary key (ci_id))
alter table Tb_ContactInfo add constraint FKABAF989DFBC1A028 foreign key (ci_id) references Tb_Account
实体配置如下:
@Entity
@Table(name = "Tb_Account")
public class Account{
@Id
@Column(name = "ac_id", columnDefinition = "INT")
public Integer id;
......
@OneToOne(mappedBy="account")
private ContactInfo contact;
.....
}
@Entity
@Table(name = "Tb_ContactInfo")
public class ContactInfo {
@Id
@Column(name = "ci_id", columnDefinition = "INT")
private Integer id;
......
@OneToOne(optional=false)
@PrimaryKeyJoinColumn
private Account account;
......
}
注:optional=false很重要,它指定关联属性不能为空。只要设为false,生成的数据表的从表(Tb_ContactInfo)才会有外键约束
JPA注解实现one-to-one的主键关联映射相关推荐
- hibernate一对一主键关联映射(一)---单向关联
1.新建工程项目hibernate_one2one_pk_1,添加hibernate所需Jar包和mysql驱动Jar包. 2.建立工具类HihernateUtils.java和ExportDB.ja ...
- hibernate一对一主键关联映射(二)---双向关联
1.新建工程项目hibernate_one2one_pk_2,加入hibernate所需的Jar包和数据库mysql驱动Jar包. 2.编写工具类HibernateUtils.java和ExportD ...
- hibernate一对一主键关联映射(单向关联Person-----IdCard)
一对一关联映射原理:让两个实体的主键一样,这样就不需要加入多余的字段 例子: package com.hibernate; public class IdCard { private int id; ...
- Spring Data JAP框架处理表关系的步骤(一对一主键关联
Spring Data JAP框架处理表关系的步骤: 1)确定表和表之间的关系 2)对应表创建实体类 3)在实体类配置注解关联关系 4)测试 一对一表关系的实现方案(主键关联: 1 在Customer ...
- 主键能否@onetoone_双向@OneToOne主键关联
主键能否@onetoone 现在该继续有关Hibernate的文章了. 最后一个致力于单向@OneToOne关联 . 因此,今天我将向您展示如何获取双向@OneTonOne主键关联 . 本教程中基于前 ...
- 双向@OneToOne主键关联
现在该继续有关Hibernate的文章了. 最后一个致力于单向@OneToOne关联 . 因此,今天我将向您展示如何获取双向@OneTonOne主键关联 . 本教程中基于前一篇文章的示例. 让我们开始 ...
- hibernate的一对一主键双向映射关系和外键双向映射关系(一)
主键关联的重点是关联的两个表共享一个主键值.本例中采用,一个单位在网上的一个系统中注册会员. 1,会员数据保存在会员表company中,每个会员的登录账号保存在表login中: 2,一个会员只有一个登 ...
- One2One主键关联的实现
主键关联,产生主键的是A类,与A相同主键的是B类 主键对应的A类,hbm.xml文件与.cs文件均无任何特别,与单表相同 与A相同的主键B类, Hbm.xml文件: <id name=" ...
- Hibernate,关系映射的多对一单向关联、多对一双向关联、一对一主键关联、一对一外键关联、多对多关系关联...
2018-11-10 22:27:02开始写 下图内容ORM.Hibernate介绍.hibername.cfg.xml结构: 下图内容hibernate映射文件结构介绍 下图内容hibernate ...
最新文章
- FBL3N/FBL3H/FAGLL03/FAGLL03H的区别
- mac os系统使用Visual Studio Code打开浏览器查看HTML文件
- Pandas 文本数据方法 cat()
- php 多维数组怎么表达,php 对多维数组的操作,该怎么解决
- [转载]ASP.NET MVC URL重写与优化(进阶篇)-继承RouteBase玩转URL
- 通过VC编程实现基于LAN的PC机与Tektronix示波器通信
- Manacher算法(马拉车算法)
- linux系统棋牌搭建教程,幼麟棋牌四川麻将搭建教程补充
- 计算机用户删除文件找回,电脑回收站清空删除的文件该怎么找回
- 【原创】技术员 Ghost Win10 1703 x64 纯净版 2017
- HTML+CSS基础学习笔记2
- 数据分析师是热门职业么?转行容易么?
- 令人担忧的5G网络可被黑客入侵
- 1633: 能量获取(energy)
- 服务器的原点和限位信号,CANopen--基于DS402协议的伺服电机原点回零模式实现
- java 工具的开发及应用
- 给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中
- recycleview多条目展示
- matlab中的fix,matlab fix函数用法
- HTTP协议中的幂等性介绍
热门文章
- T级图片数据Cache思路以及图片服务器搭建方法
- 敏捷开发中的Code Review
- windows相关知识点分析
- Winform中FormClosing与FormClosed区别与使用
- 浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别
- MFC中OnTimer函数的使用方法
- pycharm同一目录下无法import明明已经存在的.py文件
- vscode 导入文件_VScode中误报Unableto import'xxx'pylint(import-error)解决方案
- 怎么改变rofl格式_手机怎么裁剪视频尺寸
- 东北大学浑南校区计算机学院,浑南校区各主要建筑介绍:信息科学大楼