Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解
1、一对一 (One to One)
共三种情况:
1.1 主键共享
1.2 外键共享
1.3 中间表关联
1.1 code:
@Entity
public class article {
@Id
@GeneratedValue
public Integer getArticleId() {
return articleId;
}
.....
@OneToOne(cascade=CascadeType.ALL)
@PrimaryKeyJoinColumn
public articleContent getContent() {
return content;
}
......
}
@Entity
public class articleContent { @Id
@GeneratedValue
public Integer getcId() {
return cId;
}
....
}
执行保存 生成两张无外键的独立表
1.2 code:
@Entity
public class article { @OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="cid_fk")
public articleContent getContent() {
return content;
} } @Entity
public class articleContent { @OneToOne(mappedBy="articleContent")
public article ArticleEntity;
}
执行保存,生成两张表,同时article生成一个cid_fk字段 关联 articleContent主键ID
1.3 code:
@Entity
public class article {
@Id
@GeneratedValue
public Integer getArticleId() {
return articleId;
} @OneToOne(cascade=CascadeType.ALL)
@JoinTable(name="article_content",
joinColumns=@JoinColumn(name="aid"),
inverseJoinColumns=@JoinColumn(name="aid_fk"))
public articleContent getContent() {
return content;
}
......
}
生成三张表 分别为:article,article_content,articlecontent 其中 article_content 分别生成两个外键具体参考等价建表语句:
CREATE TABLE `article_content` (
`aid_fk` int(11) DEFAULT NULL,
`aid` int(11) NOT NULL,
PRIMARY KEY (`aid`),
KEY `FK_7pgn2vn8r1lpswmh5v2ix667s` (`aid_fk`),
CONSTRAINT `FK_ebfc4cs1sishg6u8kwpvgqqj9` FOREIGN KEY (`aid`) REFERENCES `article` (`articleId`),
CONSTRAINT `FK_7pgn2vn8r1lpswmh5v2ix667s` FOREIGN KEY (`aid_fk`) REFERENCES `articlecontent` (`cId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解的更多相关文章
- hibernate学习三(使用Annotation,注解)
一.新建一个工程hibernate_02_HelloWorld_Annotation(复制01工程并重命名); 二.新建一个实体类teacher.java,数据库中新建teacher表; import ...
- Hibernate学习一:Hibernate注解CascadeType
http://zy19982004.iteye.com/blog/1721846 ———————————————————————————————————————————————————————— Hi ...
- Hibernate or JPA Annotation中BLOB、CLOB注解写法
BLOB和CLOB都是大字段类型,BLOB是按二进制字节码来存储的,而CLOB是可以直接存储字符串的. 在hibernate or JPA Annotation中,实体BLOB.CLOB类型的注解与普 ...
- Rhythmk 学习 Hibernate 06 - Hibernate 表间关系 [One To One]
1.One To One 单相 背景: 古代一个老婆 只能关联一个老公 husband.java package com.rhythmk.model; public class husband { ...
- Spring + Spring MVC + Hibernate项目开发集成(注解)
在自己从事的项目中都是使用xml配置的方式来进行的,随着项目的越来越大,会发现配置文件会相当的庞大,这个不利于项目的进行和后期的维护.于是考虑使用注解的方式来进行项目的开发,前些日子就抽空学习了一下. ...
- 实训第二天早上--hibernate之配置文件映射和注解
hibernate 逐步优化第一步 只按照步骤来提取的jre包导入错误第二步 继续封装,把增删改查提取出来,同时进行代码的封装HQL语句 be stranger in the code .be fo ...
- Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例
Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例 转自:通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例 ...
- 转:HIBERNATE一些_方法_@注解_代码示例---写的非常好
HIBERNATE一些_方法_@注解_代码示例操作数据库7步骤 : 1 创建一个SessionFactory对象 2 创建Session对象 3 开启事务Transaction : hibernate ...
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
随机推荐
- Rails 5 Test Prescriptions 最后一章,如何测试继承下来的代码,legacy code
Set expectations 你不可能把一个老旧的代码野兽只用一晚就转变成优雅的奇迹marvel.你需要如下做法: 让自己有好的状态,用15分钟挥舞拳头诅咒之前的程序员 开始工作,这个codeba ...
- C# Lock关键字
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁. lock语句根本使用的就是Monitor.Enter和Monitor.Exit,也就是说lock(this) ...
- CORS请求
一.简介 CORS(跨域资源共享 Cross-origin resource sharing)是实现跨域的一种常用方式.实现CORS通信的关键是服务器.只要服务器实现了CORS接口,就可以跨源通信 二 ...
- keil软件相关问题汇总
目录 一.keilc51——F12无法定位到定义处. 二.关于STM37F7的pack包不能安装报错SVD问题. 三.关于"Insufficient RAM for Flash Algori ...
- hook 学习
一.hook 是什么? Hooks Overview 二.hook 的用法 三.hook 应用
- C#并行编程(1)
一.基于任务的程序设计 共享内存多核OS和分布式内存OS 共享内存多核OS-一个微处理器由多个内核组成,且每个内核共享一段私有内存: 分布式内存OS-- 由多个微处理器组成,每个微处理器可以有自己的私 ...
- css单位长度
CSS长度单位 单位 含义 em 相对于父元素的字体大小 ex 相对于小写字母”x”的高度 gd 一般用在东亚字体排版上,这个与英文并无关系 rem 相对于根元素字体大小 vw 相对于视窗的宽度:视窗 ...
- Delphi 简体 繁体 转换
http://delphi.ktop.com.tw/board.php?cid=30&fid=69&tid=104986 試看看 這個是豬寶寶從網路上抄來的 檢視純文字版列印? fun ...
- Alpha冲刺一(7/10)
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10013652.html 作业博客:https://edu.cnblogs.com/campus ...
- C++ int转string(stringstream可转更多类型)
一.使用atoi 说明: itoa( int value, char *string, int radix ); 第一个参数:你要转化的int; 第二个 ...