Hibernate 一对一映射(共享主键)】的更多相关文章

单向双向在数据库中没有区别,但是在java程序中有区别.   在程序中:双向的通过一个就可以找到另一个,单向的通过设置了对应关系的类可以找到它所对应的类,反过来就不行.   注解方式单向主键关联: 和外键一样,只不过注解由@JoinColumn变成@PrimaryKeyJoinColumn   import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id;…
今天在做项目的时候,一个中间表没有主键,所有在创建实体的时候也未加组件,结果报以下错误: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateSessionFactory' defined in class path resource [spring-config/ac-cif-srv-config.xml]: Invocation of init met…
双向一对一共享主键的ddl语句 CREATE TABLE `t_person` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; CREATE TABLE `t_idcard` ( `id` bigint(20) NOT NULL, `cardNo…
上篇文章讨论了继承映射,它是对象模型中最主要的特性,对于继承映射它的主要区分是字段类型的不同,所以在生成表结构时须要有新列来标识数据的类型,能够使用<subclass>标签并在标签中加入discriminator-value鉴别器.该篇文章来讨论复合主键映射,它是指主键是多列的组合,如今在设计数据库时非常少用到复合主键,由于考虑到数据库的优化,经常会把复合主键拆分到两个表中,并利用一个关系表来维护两个表的关系,关系表中不加入主键. 一.复合主键映射 复合主键映射须要在映射配置文件里使用<…
SSH框架: Struts框架, 基于mvc模式的应用层框架技术! Hibernate,    基于持久层的框架(数据访问层使用)! Spring,   创建对象处理对象的依赖关系以及框架整合! Dao代码,如何编写? 1.操作XML数据 2 使用Jdbc技术 原始的jdbc操作, Connection/Statement/ResultSet 自定义一个持久层框架, 封装了dao的通用方法 DbUtils组件, 轻量级的dao的组件: Hibernate技术  [hibernate最终执行的也是…
Hibernate提供了两种一对一映射关联关系的方式: 1)按照外键映射 2)按照主键映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映射方式分别完成以下持久化操作 (1)保存员工档案的同时分配给员工一个账号 (2)加载员工档案的同时加载账号信息 一:按照外键映射 HibernateUtil工具类(用于获取session和关闭session) package cn.util; import org.hibernate.Session…
持久化类 概述 持久化:将内存中的对象持久化到数据库中的过程就是持久化.Hibernate 就是用来进行持久化的框架. 持久化类:一个 Java 对象与数据库的表建立了映射关系,那么这个类在 Hibernate 中称为是持久化类. 也可以看作:持久化类 = JavaBean + 映射文件 编写规则 1.对持久化类提供一个无参构造方法. Hibernate 底层使用反射生成实例. 2.属性需要私有,对私有属性提供 public 的 get 和 set 方法. Hibernate 底层获取和设置对象…
对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术,本质上就是将数据从一种形式转换到另外一种形式. 面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据.内存中的对象之间存在关联和继承关系,而在数据库中,关系数…
一.前言 在我们的日常开发中,有时候会用到数据库进行设计的时候,采用了复合主键来来保证唯一性,下面介绍一下采用hibernate的@EmbeddedId嵌入式主键. 二.说明 设计一个学生类,包含了三个字段 create tbale student( stu_no char(11) not null, stu_name varchar2(30) not null, stu_class varchar2(20) ) stu_no : 学号. stu_name : 姓名 . stu_class :…