首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hibernate之关联关系映射(一对一主键映射一对一外键映射)

1:Hibernate关联关系映射一对一外键映射:   1.1:第一首先引包,省略   1.2:第二创建实体类:     这里使用用户信息和身份证信息关系,用户主键编号既可以做身份证信息主键又可以做身份证信息外键...-- 19 (1)一对一映射,有外键方 20 (2)特殊多对一映射,多了一个外键,设置主键唯一性 21 (3)cascade=...-- 第三部分,加载映射文件,一对一主键和外键映射练习 --> 38 39...43 session.getTransaction().commit(); 44 session.close(); 45 } 46 } 2:Hibernate关联关系映射一对一主键映射...-- 26 (1)一对一映射,有外键方 27 (2)用户表主键做身份证表主键 28 (3)constrained="true

1.3K70

Hibernate基于主键映射一对一关联关系

在Hibernate中,一对一关联关系映射可以使用主键映射方式来实现。一、什么是一对一关联关系?...在ORM框架中,一对一关系映射可以使用外键映射主键映射或者关联表映射来实现。二、主键映射优点在基于主键映射一对一关联关系中,实体关系被映射到表中,而不是使用外键或者中间表。...三、实现方式我们将通过一个简单实例来演示如何在Hibernate中使用主键映射来实现一对一关系映射。...我们将使用主键映射方式来实现关联关系映射。下面是两个实体类代码。...UserProfile实体类在UserProfile实体类中,我们定义了一个主键id字段和一个address字段。同时,我们使用了一对一关联关系注解来映射与User实体类关系。

63820
您找到你想要的搜索结果了吗?
是的
没有找到

【SSH快速进阶】——Hibernate一对一映射(one-to-one)——主键关联映射

在Hibernate中实现一对一映射,有两种实现方式:1、主键关联;2、唯一外键关联,这里先说一下主键关联映射。   ...主键关联映射:其中一个表主键依赖于另一张表主键而建立起一对一关系,这两张互相关联主键一致。   关联映射又可细分为单向关联映射双向关联映射。...一对一单向关联映射 ----   一对一单向关联映射,即一个对象依赖另一个对象,比如根据人能找到他身份证: ?   ...执行结果 personname:danny personcardNo:123456789 一对一双向关联映射 ----   一对一双向关联映射,即两个对象互相依赖,根据人也能找到他身份证,...【 转载请注明出处——胡玉洋《【SSH快速进阶】——Hibernate一对一映射(one-to-one)——主键关联映射》】

51220

Java EE实用教程笔记----(8)第八章 Hibernate映射机制

8.1 代理主键映射 代理主键是自定义、用来标识表记录,不具有任何业务实体意义,一般表中加入一个id字段来标识。如【实例7.1】中POJO类表示为: ? 对应映射文件配置为: ?...8.3 复合主键映射 复合主键映射有两种方法:单独定义主键类和不单独定义主键类,下面分别介绍: 8.3.1 单独定义主键类 单独定义主键类,即把主键属性组成一个新类,这个类与要映射POJO类类似...然后在真正映射POJO中使用: ? POJO类编写完成后,可以编写配置文件Cj.hbm.xml,代码如下: ? 配置完成后,下面来看复合主键如何操作数据库数据。 保存一个对象: ?...三 一对多双向关联 【实例8.6】一对多双向关联示例。 (1)在【实例8.5】基础上修改,Person表对应POJO及其映射文件不用改变,现在来修改Room表对应POJO类及其映射文件。...双向关联实际用法和单向关联相同,双向关联操作可以从任意一方操作。

1K20

JPA规范:一对多、一对一、多对多双向关联与级联操作以及JPA联合主键

一、一对多双向关联与级联操作: 以订单类和订单商品类为例: 多一方为关系维护端,关系维护端负责外键记录更新,关系被维护端是没有权利更新外键记录。...具体配置步骤可以参看这篇博客:https://blog.csdn.net/a745233700/article/details/81415550 二、一对一双向关联与级联操作: 以身份证类和人为例: 1...1、联合主键三个要求: (1)必须定义无参构造函数; (2)必须实现序列化接口Serializable; (3)必须重写hashCode()和equals()方法。...2、AirLinkPK联合主键类: /*联合主键三个要求: 1.必须定义无参构造函数 2.必须实现序列化接口Serializable 3.必须重写hashCode()和equals()方法 */ @Embeddable...AirLinePK(startCity,endCity); this.name=name; } private AirLinePK id; private String name; //联合主键实体标识符

2.8K30

Hibernate关联映射

主键关联:即让两个对象具有相同主键值,以表明它们之间一一对应关系;数据库表不会有额外字段来维护它们之间关系,仅通过表主键来关联。...,当我们需要发生改变想要将其变为一对多时候变无法操作了,所以我们遇到一对一关联时候经常会采用唯一外键关联来解决问题,而很少使用一对一主键关联。... 双向一对一关联映射: 对比单向一对一映射,需要在IdCard也加入<one-to-one...双向一对一主键映射关键映射代码——在IdCard端新加入如下标签映射双向一对一唯一外键映射关键映射代码——在IdCard端新加入如下标签映射...双向多对多关联映射双向目的就是为了两端都能将对方加载上来,和单向多对多区别就是双向需要在两端都加入标签映射,需要注意是: 生成中间表名称必须一样 生成中间表中字段必须一样 Role(角色

1.4K60

《数据库系统概念》10-ER模型

假设R为实体A-B之间联系集,则映射基数有如下几种情况: 一对一(one to one),A实体至多与一个B实体关联,反之亦然。...比如A-B为一对一映射,A中实体数多于B,则A部分参与,B全部参与。...三、E-R模型转换为关系模型 a)转换具有简单属性强实体集 假设E是具有简单描述性属性a1,a2..强实体集,可以转换为具有同样属性关系模型E,它一个元祖对应实体集中一个实体,主键也是实体集E...b)转换具有复杂属性强实体集 对于复合属性,转换时需要为每个子属性创建单独属性,比如将name拆分为first_name, middle_name, last_name;对于多值属性,需要使用多个元祖来表示...关于主键,对于多对多二元联系,主键为参与联系实体集主键并集;对于一对一联系,可使用任意一方主键;对于多对一联系,选择“多”端主键

83170

Hibernate框架学习之注解配置关系映射

单向多对一关联关系映射 单向一对多关联关系映射 单向多对多关联关系映射 双向一对一关联关系映射 双向一对多关联关系映射 双向多对多关联关系映射 一、单向一对一关联关系映射 首先,...我们需要知道什么样两张表具有一对一关联关系。...五、双向一对一关联关系映射 其实本质上看,单向关联关系和双向关联关系区别在于,单向关系中,只有一方存在对另一方引用,也就是可以通过外键列指向另一方,而被引用一方并不具备指向别人外键列...七、双向多对多关联关系映射 双向多对多关系关联映射依然需要通过第三张辅助表来进行连接。...总的来说,单向关联关系和双向关联关系有一个最本质区别,具有双向关联关系两张表,各自都存在对对方引用,也就是说可以互相访问。而单向关联关系则永远只有一方可以访问到另一方。

2.2K90

【Hibernate】关系映射

比如一个学生对应一个身份证号,一个学生对应一条户口信息等等,都是一对一关联映射。 1、Person实体里要持有IdCard引用。...注意:因为一对一主键关联映射扩展性不好,当我们需要发生改变想要将其变为一对多时候变无法操作了,所以我们遇到一对一关联时候经常会采用唯一外键关联来解决问题,而很少使用一对一主键关联。...三.双向一对一关联映射 1、在Person和IdCard里添加对应端引用,即添加相应属性。...,常用解决办法是改用双向关联映射。...五.双向一对多关联映射 采用一对多双向关联映射目的主要是为了主要是为了解决一对多单向关联缺陷而不是需求驱动

72810

初识Hibernate之关联映射(二)

上篇我们介绍了关联映射几种形式,有单向多对一,单向一对多,还有双向一对多。...本篇接着介绍有关关联映射其他几种映射方式,主要有以下几种: 基于外键单向一对一关联映射 基于主键单向一对一关联映射 单向多对多关联映射 一、基于外键单向一对一关联映射      具有一对一关联表结构也是很常见...,只不过在 many-to-one 元素中指定 unique="true",原来可以有多个具有相同外键值记录映射到一一端,现在指定外键值唯一之后,产生了唯一一对一关联映射。...二、基于主键单向一对一关联映射      所谓基于主键映射就是指,其中一张表主键值依赖于另一张表主键值。还是我们的人和身份证模型: ?...像这种IDCard表完全可以作为属性字段追加到person表后面的情况(主键重复可覆盖),我们叫这种关联映射为基于主键一对一关联映射

93650

第2篇:数据库关系建模

具有复合属性实体映射为关系 这类映射中,复合属性各子属性会映射关系中,但是复合属性名本身不会。 如下实体: ? 将映射为关系: ?...将具有唯一复合属性实体映射为关系 这类映射中,将会形成一个复合主码,其成员为复合属性各子属性。 如下实体: ? 将映射为关系: ? 4....将具有多值属性实体映射为关系 这类映射中,需要为多值属性创建一个新关系。新关系中包含一个外码,对应到主实体主码。同时属性值和外码构成新关系复合主码。 如下实体: ? 将映射为关系: ?...需要注意是,该映射中外键名和主键名是不同,以区分它和主码。事实上关系中也不允许出现名称相同两列。 12....将映射为关系: ? 这里同样要注意外键名要避免和主键名重复。 13. 一对一(1:1)一元联系映射 和上面第11条讲一对多一元联系映射规则完全相同,此处不再举例说明。 14.

1.6K61

系统学习javaweb-10-Hibernate配置与api操作

关联映射、inverse控制反转、cascade级联操作、一对一、组件、继承 【package4】:com.csxiaoyao.session session缓存使用 【package5...】:com.csxiaoyao.second_cache 二级缓存使用 【package6】:com.csxiaoyao.compositeKey 复合主键映射 【package7】:...主键映射(单列、多列) 复合主键映射 3.3 自动加载映射文件 sf = new Configuration() .configure() .addClass(User.class)...(many2many) 一对一映射(one2one 多对一特殊应用) 组件映射(component 多个bean合成一张表、基于主键/基于外键) 继承映射(extends 所有子类映射到一张表...删除数据 inverse=false,有控制权,先删除中间表数据,再删除自身 inverse=true,没有控制权,如果删除数据有被引用,会报错! 否则,才可以删除 4.4 一对一映射 1.

92920

Hibernate学习笔记2

Hibernate常用API-Session补充 4.Hibernate关联映射-数据对象三种关系介绍 4.1. 一对一 4.2. 一对多(多对一) 4.3. 多对多 5....Hibernate关联映射-一对多 5.1. 实体类创建 5.2. Hbm映射文件编写 5.3. 测试保存 5.4. 测试单向关联保存 5.5. 双向关联维护 5.6. 对象导航 5.7....Hibernate持久化类与主键生成策略 定义hbm.xml映射文件和pojo类时都需要定义主键,Hibernate中定义主键类型包括:自然主键和代理主键: 自然主键具有业务含义字段 作为主键,比如...:学号、身份证号 代理主键:不具有业务含义字段作为主键(例如 自增id),比如:mysql自增主键,oracle序列生成主键、uuid()方法生成唯一序列串 建议:企业开发中使用代理主键!...数据库中表与表之间存在着三种关系,也就是系统设计中三种实体关系。 4.1. 一对一 原则有两种: 唯一外键对应:在任意一方添加外键来描述对应关系 主键对应:一方主键作为另一方主键 ?

1.4K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券