http://blog.csdn.net/yerenyuan_pku/article/details/70148618

Hibernate关联映射——对象的三种关系

Hibernate框架基于ORM设计思想,它将关系型数据库中的表与我们java中的类进行映射,一个对象就对应着表中的一条记录,而表中的字段对应着类中的属性。数据库中表与表之间存在着三种关系,也就是系统设计中的三种实体关系。下面进行简单阐述。

一对一

创建表的原则有两种:

  1. 唯一外键对应 
    在任意一方添加一个外键来描述对应关系。如下图所示: 
     
    或者 
  2. 主键对应 
    一方的主键作为另一方的主键。如下图所示: 

实体类的设计:

  • 员工类:

    public class Employee {// 其他属性...private Archives archives;
    }
  • 档案类:

    public  class Archives {// 其他属性...private Employee employee;
    }

一对多(多对一)

客户与订单之间的关系就是一对多(或者多对一)关系。 
建表的原则:在多的一方添加外键来描述关联关系。如下图所示: 

实体类的设计:

  • 客户类:

    public class Customer {// 其他属性...private Set<Order> orders;
    }
  • 订单类:

    public class Order {// 其他属性...private Customer c;
    }

多对多

学生与老师之间的关系就是多对多的关系。 
建表的原则:通过一张中间表来描述其对应关系。如下图所示: 

实体类的设计:

  • 学生类

    public class Student {// 其他属性...private Set<Teacher> ts;
    }
  • 老师类

    public class Teacher {// 其他属性...private Set<Student> ss;
    }

转载于:https://www.cnblogs.com/telwanggs/p/6963775.html

(转)Hibernate关联映射——对象的三种关系相关推荐

  1. hibernate中PO对象的三种状态分析以及session中的一些方法的区别

    hibernate的状态 hibernate的各种保存方式的区(save,persist,update,saveOrUpdte,merge,flush,lock)及 对象的三种状态 hibernate ...

  2. Hibernate关联映射-数据对象三种关系

    Hibernate框架基于ORM设计思想,它将关系型数据库中的表与我们java中的类进行映射,一个对象就对应着表中的一条记录,而表中的字段对应着类中的属性. 数据库中表与表之间存在着三种关系,也就是系 ...

  3. Hibernate 对象的三种状态

    Hibernate 对象的三种状态 瞬时(transient): 由new操作符创建,且尚未与Hibernate Session关联的对象被认定为瞬时(Transient)的.瞬时(Transient ...

  4. Hibernate对象的三种状态(瞬时态,持久态,游离态)

    1.  瞬时状态 (瞬态) 当我们通过Java的新的关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,如下:  客户客户=新客户("zx",27,图片); 这时客户对象就 ...

  5. 菜鸟学SSH(八)——Hibernate对象的三种状态

    前面写了几篇关于SSH的博客,但不是Struts就是Spring,Hibernate还从来没写过呢.说好是SSH的,怎么可以光写那两个,而不写Hibernate呢对吧.今天就先说说Hibernate对 ...

  6. Hibernate持久化对象的三种状态深入理解

    关于OID hibernate缓存是一个map,他会根据OID作为缓存对象的key,我们的映射文件中<id>标签指定的属性值会作为OID 持久化对象的三种状态 为了方便理解,Hiberna ...

  7. 【Hibernate框架开发之五】Hibernate对象的三种状态Session常用方法

    1. Hibernate对象的三种状态:(图解如下:) 如图所示,Hibernate对象有三种状态,1.Transient  2.Persistent 3.Detached; 三种状态的区别如下: 1 ...

  8. Hibernate关联映射(一对多/多对多)

    版权声明:翀版 https://blog.csdn.net/biggerchong/article/details/84340105 3.  Hibernate关联映射 上接Hibernate持久化类 ...

  9. (转)Hibernate关联映射——一对多(多对一)

    http://blog.csdn.net/yerenyuan_pku/article/details/70152173 Hibernate关联映射--一对多(多对一) 我们以客户(Customer)与 ...

最新文章

  1. Mac 技术篇-chrome浏览器启用flash插件最强攻略
  2. c++空类实例大小不是0原因
  3. 开源库 Natasha2016 ,让IL编程跑起来
  4. 在Delphi中如何创建和使用udl文件
  5. Spark性能优化指南——高级篇
  6. sqlserver——视图
  7. vue input 赋值无效
  8. [大学回忆录]我的本命年
  9. [C#] readonly vs const
  10. 吃豆豆--Java小游戏
  11. react脚手架搭建
  12. 虚拟现实计算机理论文献,虚拟现实在计算机教学中的应用研究
  13. 完美:利用旧版iCloud更改Apple ID地区
  14. 数据预处理阶段“不处理”缺失值的思路
  15. Excel日期显示为数字,不能正常显示为日期
  16. 2022 ciscn 东北赛区分区赛 部分 wp
  17. 纵观计算机简史ppt,纵观计算机简史初中信息技术新课本中国地图出社..ppt
  18. 服务器系统升级文件转移,多可系统迁移说明
  19. 【PhotoShop】利用PS制作唯美咖啡泡
  20. 浅议极大似然估计(MLE)背后的思想原理

热门文章

  1. html消息发送接收,在html页面中 如何应用mqtt协议发送/接收消息
  2. (231)DPU数据处理单元现有产品介绍
  3. (36)FPGA打N拍设计(第8天)
  4. (14)FPGA面试技能提升篇(nlint工具、CDC方法)
  5. (7)UART接收verilog与Systemverilog编码
  6. journalctl -xe mysql_journalctl 日志查看方法
  7. ESP8266:(1)向手机传输温度
  8. 8. GD32F103C8T6 定时器-输入捕获测频率
  9. Nginx基本数据结构之ngx_hash_combined_t
  10. Linux内核分析 - 网络[十]:ARP杂谈