hibernate笔记--组件映射方法】的更多相关文章

假设我们需要保存学生student的信息,student中有一个address属性,我们知道像这种信息其值可能会有多个,就像一个人会有两个以上的手机号,这种情况在hibernate中应该这样配置: 新建一个Address类,我们假设每个学生最多能保存3个地址: public class Address { private String addr1; private String addr2; private String addr3; //get/set方法省略 } 新建student实体类:…
1:为什么要使用组件映射 答:建立关系数据模型的一个重要原则是在不会导致数据冗余的前提下,尽可能减少数据库表的数目及表之间的外键参照关系.以员工信息为例,员工信息中有员工的家庭地址信息,如果把地址信息单独放在一张表中,然后建立员工信息表和地址信息表之间的外键参照关系,当每次查询员工信息时,都需建立者两个表的连接.建立表的连接是很耗时的操作,为了提高数据库运行性能,可以把这两张表的信息整合在一张员工信息表EMPINFO中. 2:什么是组件映射:组件是一个被包含的对象,它和它的所有者同存于一张表中,…
前两节写了两个例子,分别是单向多对一的映射和单向一对多的映射,这一节继续以这个例子讲一下双向一对多的映射方法,如下图所示: 很多时候,我们既想从一对端获取多对端的信息,又想从多对端获取一对端的数据,这就是需要双向一对多的映射关系,这也是最常见的表与表的映射关系,在hibernate中应当这样配置: 新建Studnet实体类: public class Student { private int id; private String name; private String sex; privat…
1.在开发中,有的类信息比较复杂,而且某几个信息可以组成某一个部分,这个时候可以采用组件映射,组件映射是一张表映射到多个类.表结构 2.类的设计 Link.java public class Link { private String phone; private String qq; private String email; private String address; public Link() { } public Link(String phone, String qq, Strin…
单表继承映射(一张表): 假设我们现在有三个类,关系如下: Person类有两个子类Student和Teacher,并且子类都具有自己独有的属性.这种实体关系在hibernate中可以使用单表的继承映射来建表,最后生成的表是这样的: 可以看到我们只需要建立一张表就可以维护这个关系,这种方式就是单表继承映射,下面介绍配置方法: 新建实体类Person ,Student,和Teacher : public class Person { private int id; private String n…
上一篇讲的是单向多对一的表关系,与单向一对多的关系正好相反,如下图所示关系: ,可以看出年级表和学生表是一对多的关系,一条年级信息对应多条学生信息,在hibernate中成为单向的一对多的映射关系,应该这些操作: 新建Student实体类: public class Student { private int id; private String name; private String sex; //get/set方法省略 } 新建Grade实体类: public class Grade {…
lazy 懒加载 默认为proxy   继承映射 discriminant column="type" type="string"   集合映射 生成表的语句: public class DbCreate {     public static void main(String[] args) {         Configuration cfg=new Configuration().configure("/hibernate.cfg.xml"…
Hibernate联合主键映射以及组件映射 在Hibernate中联合主键的形成有两种可能:一种是由多对多映射形成的,多对多映射会形成第三张表,一般来说第三张表的主键是由其他两张表的主键构成的(比如学生表,课程表,选课表).第二种情况就是很常见的情况,即只有一张表,表的主键是由本身的两个字段或以上构成的.比如:公司的财务统计表,其中有字段年份.月份.销售金额.在这张表中年份和月份才唯一确定一条记录.下面就来说说联合主键第二种情况的配置,就以上面的财务统计表来说明.对于联合主键的这种情况,我们经常…
啊讲道理放假这十天不到啊 感觉生活中充满了绝望 这就又开学了 好吧好吧继续学习笔记?还是什么的 一对一关联映射 这次我们仍然准备了两个表 一个是用户表Users 一个是档案表Resume 他们的关系是一对一(一个用户只能有一份档案 一份档案只能属于一个永固) 我们无需建表,Hibernate会检查数据库中有没有对应的表,如果没有,自动生成 我们也可以用来看自动生成的表是什么样子的 一对一外键映射FK 那么接下来是小配置文件 user的小配置文件 <one-to-one name="resu…
一.组件映射 用注解配置组件映射: Husband为我们映射的类,wife是这个类的一部分(属性不能与husband中属性重名,不要写Entity注解,不要有主键) Husband类:(在getWife()方法上添加注解@Embedded) package cn.orlion.hibernate.model; import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.G…