hibernate的基础学习--一对一关联】的更多相关文章

一对一关系以丈夫和妻子模型 配置文件 妻子配置文件: <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">…
基本的用户和部门类,只有uuid和名称,没有其余字段. 配置文件 部门: <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dt…
Hibernate共提供4种多表关联数据查询方式 OID数据查询+OGN数据查询方式 HQL数据查询方式 QBC数据查询方式 本地SQL查询方式(hibernate很少用) 1.OID数据查询+OGN数据查询方式 public class TestOID_OGN { /** * 什么时候时候什么时候发送 */ @Test public void findUser() { SessionFactory sf = H3Util.getSessionFactory(); Session session…
多对多采用学生老师模型进行测试 学生配置文件: <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> &…
1.SQL语句建表 CREATE TABLE teacher( t_id ) ); CREATE TABLE class( c_id ), teacher_id INT ); ALTER TABLE class ADD CONSTRAINT fk_teacher_id FOREIGN KEY (teacher_id) REFERENCES teacher(t_id); INSERT INTO teacher(t_name) VALUES('LS1'); INSERT INTO teacher(t…
工具类: public class H3Util { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { //从类加载路径中读取hibernate.cfg.xml文件生成SessionFactory对象 return new Configuration().configure()…
在最近java,SSH框架的学习中遇到了这样的一个问题,在Hibernate的开发中一对一关联映射的单向关联,主表会在次表新增一列次表的主键如下图,但是在双向关联中次表不会在表中创建主表的主键一列,这是为什么呢  ,原来是因为mappedBy参数的原因,在不给这个参数时次表会创建主表主键的一列,sql语句也会增多,而设置了这个参数时,次表不会创建主表主键的一列,sql语句也会少,在以后的项目中一定要设置这个参数,可能练习的项目数据量很小看不出差距,但是数据量一大mappedBy参数的作用就体现出…
mybatis 一对一关联 association 返回空值 最近学习spring mvc + mybatis开发,看的书是<Spring MVC+Mybatis开发 从入门到精通>,在学习一对一关联,并且延迟加载一节的时候,使用书上讲解的例子无法调通,主要代码问题是在mapper.xml文件中,部分如下: <resultMap id="BaseResultMap" type="com.pp.entity.SysUser"> <id c…
啊讲道理放假这十天不到啊 感觉生活中充满了绝望 这就又开学了 好吧好吧继续学习笔记?还是什么的 一对一关联映射 这次我们仍然准备了两个表 一个是用户表Users 一个是档案表Resume 他们的关系是一对一(一个用户只能有一份档案 一份档案只能属于一个永固) 我们无需建表,Hibernate会检查数据库中有没有对应的表,如果没有,自动生成 我们也可以用来看自动生成的表是什么样子的 一对一外键映射FK 那么接下来是小配置文件 user的小配置文件 <one-to-one name="resu…
一. 一对一关联映射 ²        两个对象之间是一对一的关系,如Person-IdCard(人—身份证号) ²        有两种策略可以实现一对一的关联映射 Ø        主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库表不会有额外的字段来维护它们之间的关系,仅通过表的主键来关联. Ø        唯一外键关联:外键关联,本来是用于多对一的配置,但是如果加上唯一的限制之后,也可以用来表示一对一关联关系. 对象模型 实体类: /** 人-实体类 */…
一.数据模型 1.学生信息模型(编号.名称.身份信息) public class Student implements java.io.Serializable{ private static final long serialVersionUID = 1L; private Integer sid; private String sname; private IdClass pid; public Integer getSid() { return sid; } public void set…
Hibernate基础学习2 测试hibernate的一级缓存,事务以及查询语句 1)Hibernate的一些相关概念 hibernate的一级缓存 1)缓存是为了提高该框架对数据库的查询速度 2)一级缓存是将获取的结果放到了session中,再次查询直接从缓存中获取(提高查询效率) 3)缓存进阶之快照:将获取的一份结果放到session中,一份放到快照中,当修改时,对比快照与缓存, 如果数据没有发生变化,直接结束修改(避免不必要的修改) hibernate的事务 在业务开始之前打开事务,在业务…
http://blog.csdn.net/yerenyuan_pku/article/details/71894172 在实际开发中我们不可能只是对单表进行操作,必然要操作多表,本文就来讲解多表操作中的一对一关联映射和一对多(或多对一)关联映射,至于多对多关联映射实质上也是两个一对多(或多对一)关联映射,所以在这里我并不打算讲解.先从一对一关联映射讲起.本文案例代码的编写是建立在前文MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql案例基础之上的! 一对一…
Hibernate提供了两种一对一映射关联关系的方式: 1)按照外键映射 2)按照主键映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映射方式分别完成以下持久化操作 (1)保存员工档案的同时分配给员工一个账号 (2)加载员工档案的同时加载账号信息 一:按照外键映射 HibernateUtil工具类(用于获取session和关闭session) package cn.util; import org.hibernate.Session…
一.一对一关联 Hibernate提供了两种映射一对一关联关系的方式:按照外键映射和按照主键映射.下面以员工账号和员工档案表为例,介绍这两种映射方式,并使用这两种映射方式分别完成以下持久化操作: (1)保存员工档案的同时分配给员工一个账号. (2)加载员工档案的同时加载账号信息. 按照外键映射: 关系图: ①创建实体类:Resume.Users 并封装属性 public class Resume { //档案id private Integer resid; //档案名称 private Str…
一.一对一关联的概念: 一对一之间的关联是指:两张表中的信息是一对一的关系,比如我们每个人和身份证的关系,一个人对应一张身份证,一张身份证也只能对应一个人. Hibernate提供了两种映射一对一关联关系的方式:按照外键映射和按照主键映射. 在下面的例子中我们分别以两张表:员工表和员工档案表为例:介绍这两种映射关系方式. 二.按外键映射 1.关联的外键可存放于任意一端,并在存放外键的一端增加<many-to-one>元素,能够增加唯一约束实现一对一关联.        2.<many-t…
Hibernate映射:一对一关联 1.按照外键映射 2.按照主键映射 组件映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映射方式分别完成以下持久化操作 (1)保存员工档案的同时分配给员工一个账号 (2)加载员工档案的同时加载账号信息 一:按照外键映射…
Hibernate提供了两种映射一对一映射关联关系的方式: 01.按照外键映射 02.按照主键映射 下面以员工账号表和员工档案表(员工账号和档案表之间是一对一的关系)为例,介绍这两种映射关系,并使用这两种 映射方式分别完成以下持久化操作 (1)保存员工档案的同时分配给员工一个账号 (2)加载员工档案的同时加载账号信息 一:按照外键映射 需要提示: HibernateUtil工具类(用于获取session和关闭session) package cn.zhang.util; import org.h…
    前言:本文主要介绍使用Hibernate映射一对一的关联关系的两种方式:使用外键映射.使用主键映射. 1.数据库表的一对一关联关系     本文根据客户信息表(tb_customer)和地址信息表(tb_address)来说明其一对一的关系,每一个客户都有一个家庭住址,而每一个地址都对应一个客户. (1)使用外键映射的数据库表说明     数据库表模型图如下:           数据库建表语句如下: CREATE TABLE tb_customer ( id bigint NOT NU…
在上次的博文Hibernate从入门到精通(五)一对一单向关联映射中我们讲解了一下一对一单向关联映射, 这次我们继续讲解一下与之对应的一对一双向关联映射. 一对一双向关联 与一对一单向关联映 射所不同的的是在一对一双向关联中,不但在一个对象(Person)中存在另一个对象(IdCard)的引用,而在另一 个对象(IdCard)中也存在对该对象(Person)的引用,这样即可以在加载该对象(Person)的时候找到另一个对象 (IdCard),也可以在加载另一个对象(IdCard)的时候找到该对象…
前面两篇介绍了多对一.一对多的映射.今天分享下一对一的关联映射关系.有两种策略可以实现一对一的关联映射:主键关联.唯一外键关联. 主键关联——两个表有完全相同的主键值,来表示它们的一对一的关系.数据库中没有额外的字段去维护它们之间的关系,就只是靠着主键来维持关系. 唯一外键关联——增加一个额外的字段,维护他们之间的一对一关系. 现在要用一对一来描述人和身份证的关系.每个人只有一个身份证. 1.单向主键关联进行描述 根据上图,我们需要在person端进行如下配置: <?xml version=&quo…
在业务成的域模型中,类和类之间最普遍的关系就是关联关系,而关联也是有方向的. 就以例子来说明:一个人对应一张身份证.对其进行增删改. 对于人在数据创建表的时候,我们就给他两个字段,一个是id号,一个就是名字. 那么对于身份证也就是两个字段,一个对应于一个人相同的id号,一个就是身份证码. 1 那么来创建数据库表: 人为主表,身份证为从表. create table person( id bigint primary key auto_increment, userName ) ); create…
Java基础-SSM之mybatis一对一关联 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.准备测试环境(创建数据库表)  1>.创建husbands和wifes表并建立关联关系(外键约束)  use yinzhengjie; )) ; )) ; alter table wifes add constraint fk_id foreign key (id) references husbands(id) ; 2>.添加Maven依赖 <?xml version=…
1.设计表结构 表结构对于基于外键的关联关系来说就少了外键的关联列,并且两张表共用同一个ID,表示一对一. 2.创建Person对象 3.创建IdCard对象 4.写hbm.xml文件 5.生成数据库表 生成sql语句 在这里,我们发现person表只有3列数据,而IdCard表只有2列数据,而person表与IdCard设置了外键关系,而这个关系就是IdCard表的主键id. . 6.新增数据 在新增数据时与单项一对一并没有什么改变.   生成sql语句  7.查询(通过工具查询数据)   i…
Hibernate中一对一关联映射共分为两种,一种是一对一主键关联映射,另一种是一对一唯一外键关联映射.下面简单介绍一下这两种关联映射. 一对一主键关联映射 一对一主键关联映射的两个实体有相同的ID.这种映射又分为单向一对一关联主键映射和双向一对一主键关联映射. 单向一对一主键关联映射 实例类图 映射文件IdCard.hbm.xml <hibernate-mapping> <class name="com.bjpowernode.hibernate.IdCard" t…
概述: hibernate提供了两种映射一对一关联的方式:按照外键映射和按照主键映射. 下面以员工账号和员工档案为例 ,介绍两种映射方式,并使用这两种映射方式分别完成以下持久化操作: (1)保存员工档案的同时分配给员工一个账号 (2)加载员工档案的同时加载账号信息 1.按照外键映射 第一步:创建实体类users1(主表)和resume1 package cn.lex.entity; /** * Created by accp on 2017/1/18. * 员工表 */ public class…
版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5602418.html  一对一关联,可以分为两种.一种是基于外键的关联,另一种是基于主键的关联.如图 一.基于外键的方式 User.java package com.proc.one2one; public class User { private Integer id; private String name; private IdCard card; publi…
                                                    Hibernate中映射一对一关联(按主键映射和外键映射)和组件映射 Hibernate提供了两种映射一对一关联关系的方式:按照外键映射和按照主键映射. 下面以员工账号和员工档案表为例,介绍这两种映射方式,并使用这两种映射方式分别完成以下持久化操作: (1)保存员工档案的同时分配给员工一个账号. (2)加载员工档案的同时加载账号信息. 1.按照外键映射 步骤一:创建实体类Users1和Resu…
实体order和user采用resultMap order package pojo; import java.util.Date; public class Order { private Integer id; private Integer userId; private String number; private Date createtime; private String note; private User user; public User getUesr() { return…
创建一个实体继承两个实体之一,另一个实体作为属性 实体1. order package pojo; import java.util.Date; public class Order { private Integer id; private Integer userId; private String number; private Date createtime; private String note; public Integer getId() { return id; } publi…