1、一对一 (One to One)
    共三种情况:
     1.1 主键共享
    1.2 外键共享

1.3 中间表关联

1.1  code:

@Entity
public class article {@Id@GeneratedValuepublic Integer getArticleId() {return articleId;}.....@OneToOne(cascade=CascadeType.ALL)@PrimaryKeyJoinColumnpublic articleContent getContent() {return content;}......
}

@Entity
public class articleContent  {@Id@GeneratedValuepublic 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@GeneratedValuepublic 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;

  

转载于:https://www.cnblogs.com/rhythmK/p/3705259.html

Rhythmk 学习 Hibernate 08 - Hibernate annotation 关联关系注解相关推荐

  1. Hibernate - 单向一对多关联关系映射

    上篇博文描述了Hibernate - 单向多对一关联关系映射,本篇博文继续学习单向一对多关系映射. 这里Customer:Order= 1:N,外键保存在Order表中. [1]修改Customer和 ...

  2. Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例

    Spring 4 MVC+Hibernate 4+MySQL+Maven使用注解集成实例 转自:通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例 ...

  3. hibernate映射-单向n-n关联关系

    (学习记录,错误不足之处,请您耐心指正^_^) hibernate映射-多对多关联关系 n-n关联必须使用连接表才能完成, 一.代码示例: {类文件↓} Category.class 1 packag ...

  4. 学习:配置hibernate

    最近实现的一系列功能(权限管理,索引持久化等)都涉及到了持久化问题 之前做了一个基于XML的管理插件,只需要在第一次读取的时候使用到XML,之后数据来自缓存,这样可以满足权限管理的功能,但是一旦权限发 ...

  5. Java反射学习总结五(Annotation(注解)-基础篇)

    Annotation(注解)简单介绍: 注解大家印象最深刻的可能就是JUnit做单元測试,和各种框架里的使用了. 本文主要简介一下注解的用法,下篇文章再深入的研究. annotation并不直接影响代 ...

  6. JavaWeb黑马旅游网-学习笔记08【旅游线路详情】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  7. 【大话Hibernate】Hibernate两种实体关系映射详解

    实体类与数据库之间存在某种映射关系,Hibernate依据这种映射关系完成数据的存取,因此映射关系的配置在Hibernate中是最关键的.Hibernate支持xml配置文件与@注解配置两种方式.xm ...

  8. linux查看xml文件的配置,Hibernate配置文件hibernate.cfg.xml的详细解释

    Hibernate配置文件hibernate.cfg.xml的详细解释 [日期:2012-12-13] 来源:Linux社区 作者:jqyp [字体:大 中 小] /p> "-//Hi ...

  9. Spring注解驱动开发学习总结8:自动装配注解@Autowire、@Resource、@Inject

    Spring注解驱动开发学习总结8:自动装配注解@Autowire.@Resource.@Inject 1.自动装配@Autowire.@Resource.@Inject 1.1 构建bookDao ...

最新文章

  1. CentOS7下ntp安装步骤
  2. SilverLight显示中文字(一)
  3. ABAP和Java的tag(marker) interface
  4. 代码与html混合,自定义的标签与html的标签混合应用_css
  5. ios添加设备真机测试,以及Undefined symbols for architecture x86_64:''错误
  6. android开发模板web,Android开发实践:Android.mk模板
  7. 滚动时间选择器recyclerview_Android自定义可循环的滚动选择器CycleWheelView
  8. Field userManageService in com....
  9. ernie和Bert的参数理解
  10. Linux常用命令——tac、bc
  11. SQL 常用语句INSERT INTO,UPDATE,DELETE
  12. CIF/4CIF/QCIF/D1 分辨率
  13. 细说背包问题 - 完全背包
  14. Struts1和Struts2对比
  15. 学习PS软件的渐变工具
  16. 技术岗的职业规划_技术人员职业发展规划
  17. 受益于人工智能的发展,人们可以以前所未有的时空分辨率系统地观察神经活动
  18. 巴菲特:为什么在混乱和动荡的时候最适合买入股票?
  19. php socket accept,使用PHP Socket开发Yar TCP服务
  20. echarts图表入门级教程(An introductory chart tutorial)

热门文章

  1. Spring Ioc 之 Bean的加载(1)(生命周期)
  2. STM32开发 -- 4G模块开发详解(1)
  3. UNIX再学习 -- 进程间通信之管道
  4. 使用google colab运行RNN网络代码报告错误ValueError: Object arrays cannot be loaded when allow_pickle=False
  5. 区块链实践(一) 以太坊网络+geth搭建私有网络实战
  6. Android无需权限显示悬浮窗, 兼谈逆向分析app
  7. 基于机器学习的web异常检测
  8. 进程间通信--IPC
  9. Android Activtity Security
  10. linux的模块化,GoboLinux 017 发布,模块化的 Linux 发行版