具体异常:org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property[com.pms.entities.personnelManagement.TrainingStaff.record] 意思是说我的没有外键的一端,即 需要把主键作为另一端的外键的一端的主键为空(id 为空). 出现这个异常的原因: 举例说明: 类Record 和 类 TrainingSt…
基于主键映射1-1关联关系和基于外键映射1-1关联关系的不同,主要区别是在配置映射文件上会有区别 两个持久化类为Manager和Department 1:基于主键映射1-1关联关系 1)使用其他持久化类的主键生成主键的实体的映射文件 首先需要指定主键生成方式为foreigner 格式为: <id name="departmentId" type="java.lang.Integer"> <column name="department_i…
1. 基于主键的映射策略:指一端的主键生成器使用foreign策略,表明根据"对方"的主键来生成自己的主键,自己并不能独立生成主键.并用<param> 子元素指定使用当前持久化类的哪个属性作为"对方" 2. 采用foreign主键生成器策略的一端增加one-to-one元素映射关联属性,其one-to-one属性还应增加constrained="true"属性:另一端增加one-to-one元素映射关联属性 3. constraine…
背景: 在实际开发中我们会遇到新建一个用户表,但这个表字段过长,而且有写字段常用(主要),有些字段比较不常用(次要).此时,我们会考虑到把用户信息拆分到两张表中:member(存储用户主要信息),memberdetail(存储用户次要信息). 那么,这两个表就是很明显是一对一的关系,一个用户的基本信息只需要存储一份. 上一章节我们介绍了在hibernate中一对一的关联关系通过外键来实现,本章节我们将会介绍,在hibernate中使用主键来实现一对一的关联关系. hibernate实现过程中,需…
@Test public void testSave() { Boss boss = new Boss(); boss.setName("A-老板"); Company company = new Company(); company.setName("A-公司"); boss.setCompany(company); company.setBoss(boss); // //这两行代码会保存两次没有外键端的对象,基于主键映射.所以在保存时,要么先保存没有外键的一端,…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
背景: 一个部门只有一个一把手,这在程序开发中就会设计数据映射应该设置为一对一关联. 在hibernate代码开发中,实现这个业务有两种方案: 1)基于外键映射的1-1关联: 2)基于主键映射的1-1关联. 本篇文章主要是用来学习如何使用外键实现1-1关联关系. 新建项目hibernate05 新建java project,引入依赖包,在src下添加hibernate.cfg.xml <?xml version="1.0" encoding="UTF-8"?&…
上一节介绍的基于外键的一对一映射关系中,在Person表中有一个外键列idCard_id,对应的idCard表的主键id,至于基于主键的一对一映射关系,就是指Person表中抛弃了idcard_id这个外键列,而与idCard表共用一个主键,或者说是其外键为主键的表结构,这种基于主键的双向一对一映射关系应该这样配置: 新建一个IdCard实体类: public class IdCard { private int id; private String code; private Person p…
1:Hibernate的关联关系映射的一对一外键映射: 1.1:第一首先引包,省略 1.2:第二创建实体类: 这里使用用户信息和身份证信息的关系,用户的主键编号既可以做身份证信息的主键又可以做身份证信息的外键,这里先做外键. 创建User.java: 用户和身份证一对一的关联关系映射       private IdCart idCart; IdCart.java: 身份证和用户,一对一的关系       private User user; package com.bie.bean; /**…
这篇 基于主键的双向一对一关联映射 1.依然考察人和身份证的一对一关系,如果采用主键关联,那么其表结构为: 2.类结构 Person.java public class Person implements Serializable{ private String id; private String name; private IdCard idCard; public Person() { } public Person(String name) { super(); this.name =…