六 Hibernate表关系及其配置

  • Hibernate的一对多关联映射

  • Hibernate的多对多关联映射

数据库表与表之间的关系:一对多,多对多,一对一

一对多:一个部门对应多个员工,一个员工只能属于一个部门。一个客户对应多个联系人,一个联系人只能属于一个客户

一对多建表:在多的一方创建外键。

多对多:一个学生可以选择多门课程,一门课程可以被多个学生选择。一个用户可以选择多个角色,一个角色可以被多个用户选择。

多对多建表:创建中间表。中间表至少有两个字段分别作为外键指向多对多双方的主键。

一对一(了解):

一般可以建成一张表。

一个公司只能有一个注册地址,一个注册地址只能被一个公司注册。

建表原则:

唯一外键对应,外键加约束unique来保证一对一

主键对应

表关系配置:

一对多关系的配置:多的一方放一的一方的对象,一的一方放多的一方的集合,双向配置,可以双向查询。

表架构:

实体类配置:

映射文件配置:

多的一方:

一的一方:

原文地址:https://www.cnblogs.com/ltfxy/p/10306510.html

时间: 2024-08-29 10:51:29

六 Hibernate表关系及其配置的相关文章

BSEG 和其他六个表关系

BSEG和其他六个表关系 BSEG里两个字段SAKNR(总账科目),HKONT(总账账目)的区别 HKONT里放的是凭证真实的总帐科目,SAKNR放的是供应商或客户的统驭科目. 如果某凭证行项目不是统驭科目,则SAKNR是空的,如果你输入正常的统驭科目凭证,这两个字段是相同的, 但当你输入特殊总帐凭证时,SAKNR里存的是统驭科目,HKONT放的是特殊总帐科目 BSAS+BSIS+BSAK+BSIK+BSAD+BSID = BSEG BSAS │ BSIS ==>all GL documents

数据库表关系及配置

1.数据库表中的关系 一对一 一对多(多对一) 多对多 2.如何确立和实现数据库中的表关系 一对多的表关系实现: 使用外键约束 我们习惯把一的方称为主表,把多的方称为从表 外键:从表中有一列,除了null之外,只能来源于主表的主键 默认情况下,外键的字段是可以重复的 多对多的表关系在数据库中实现: 使用中间表 中间表有两个外键,引用两个多对多表的主键 不能有其它字段信息,至于中间表的主键,应该采用联合主键 任何一个多方表和中间表去比较都是一对多的关系 一对一的表关系再数据库中实现: 有两种: 1

hibernate 表关系映射详解之一对多

一对多 传统模式:jdbc连接数据库的传统模式下,是通过主键连接外键实现一对多关系的映射, 其数据库中表的对应关系是在多方加入一方的主键,而后形成外键连接. Hibernate:引入hibernate框架后,通过类的形式来表示一对多的关系. 举例:订单与订单详细的关系,一个订单包含多个商品,多个商品属于一个订单,两者的关系是一对多的关系. 实现原理: 面向对象实现------ 在order类中加入item类的set集合 ,表示在订单类中包含有多个订单详细(集合表示). 层次结构: 步骤一:编写实

Hibernate表关系03

一. 一对多映射 1.基本应用 1.1 准备项目 创建项目:hibernate-02-relation 引入jar,同前一个项目 复制实体(客户).映射.配置.工具类 1.2 创建订单表 表名: t_order 语句 1 CREATE TABLE `t_order` ( 2 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id', 3 `orderno` varchar(20) DEFAULT NULL COMMENT '订单编号', 4 `pr

hibernate 表关系映射详解之一对一

举例:用户和邮箱的关系,一个用户拥有一个邮箱,一个邮箱属于一个用户 关系图: 实现原理:因为两者皆是一方,无论在那一方加入,都可实现单项映射. 配置文件: 结构图: 实体类: hibernate实现映射一对一中有两种方法. 方法一(通过多对一映射): 步骤一: 在Customer类中加入Email类 步骤二:配置customer类的映射文件  -- > Customer.hbm.xml 本来多对一的映射,加入unique(唯一)之后,就很巧妙的变成一对一的映射,网上说这样的拓展性很好,没试过,这

hibernate 表关系映射详解之多对多

举例:商品类型表与商品表,每种类型对应多个商品,每个商品对应多种类型 关系图: hirbernate实现多对多映射有两种方法,第一种是通过中间表直接映射,第二种是通过中间表间接映射. 直接映射: 配置实体类(因为都是多对多的关系,所以双方都具有set集合): 配置实体类的映射文件: 分析:category类先通过category_Id与中间表tb_category_product建立联系,然后再通过多对多标签中的porduct_id与product类建立多对多联系. product类同上类似.

hibernate 表关系映射详解之继承关系

举例:亚马逊的网上商城可以卖很多东西,比如说图书,电器,水果等等,那么我们以面向对象的理念去抽象一个商品类,他具有商品的共有属性,比如说上架时间,当前         价格,优惠价格等待,商品可以继承商品类,也可以保有自己的属性,比如说商品名等等.这种关系称为继承. 上文说到继承,那么怎么在数据库中体现继承,以及在hibernate实现继承. 数据库表中体现继承,可以先创建一个商品类表,然后创建一个商品表(类型不定),他们之间拥有同样的主键建立联系. 表结构: 如何在hibernate中实现继承

hibernate表关系

1.一对一 用户表可以查分成两个表,一个userInfo.一个userLogin表 实现方式: (1)使用外键:外键+唯一性约束+非空约束 (2)公用主键:公用主键,从表的主键同时也是外键,来源于主表的主键. 2. 一对多 使用外键,实现一对多关系,外键可以为null 主从关系:一:主表,多:从表  ,从表的外键必须是主表的主键或者null. 实现方法:Student     Clazz step1:在一个一方创建对象引用集合  Set<> private Set<Student>

hibernate继承关系如何配置

第一种方法 Person.hbm.xml <class name="Person"> <id name="oid" column="person_oid" type="long"> <generator class="hilo"/> </id> ... <union-subclass name="guest" table="