八:关系映射
1) 一对一关联
规律:凡是双向关联,必设mappedBy="true"
a)一对一(单向外键) 关联
annotation:@OneToOne @JoinColumn(name="")
xml:<many-to-one name="关联的模型类名称" column="制定关联主键的列名称"
unique="true"></many-to-one> 说明是一对一关联(因为加了unique="true")
b)一对一(双向外键) 关联
在(Husband)主类中已经设置了@OneToOne的设置了,双向关联,则在双向关联的类(Wife)中也需要
设置@OneToOne
但是一对一双向外键关联需要增加(mappedBy="wife"),说明了一对一双向外键关联必须设置
mappedBy="wife".
annotation:@OneToOne(mappedBy)
c)一对一单向主键关联
annotation:@PrimaryKeyJoinColumn(name="")
d)一对一双向主键关联
e)联合主键关联
反向工程
组件映射
annotation:@Embeded
xml:<composit>
主键映射的时候继承序列化接口
一对多,多对一关联
多对一单向关联
数据库表设计:在多方加外键
annotation:@ManyToOne
xml<many-to-one>
怎么规划你的将来?
数据库表的设计:在设计数据库表的时候一定切记不能存在冗余(特定问题特定分析)
a)遵守三范式:
1:要有主键列不可以再分,
2:联合主键的依赖不能存在部分依赖
3:不能存在传递依赖
一个人可以有多个理想,一个具体的梦想只可以属于一个人。
一对多单向关联
类:在一的一方存在多方的集合。
数据库表同上。
对象模型:在设计类的时候,使用hibernate则需要使用对象生成的机制。
数据库模型:在设计数据库的时候考虑不要出现冗余表
annotation:@OneToMany
@JoinColumn(name="group_Id")
xml:<set>,<one-to-many>
一对多和多对一双向关联
使用双向必须使用mappedBy,如果不指定则出现两个相同外键字段
数据库设计在多的一方外键,在类中设计在一方:mappedBy="属性名称"
多对多单向关联
例如:老师和学生的关系,老师需要知道自己教了那些学生
数据库模型设计:在设计数据库表的时候加一张中间表。
对象模型设计:
annotation:@ManyToMany
@JoinTable(name="t_s",
joinColumns={@JoinColumn(name="teacher_id")},
inverseJoinColumns={@JoinColumn(name="student_id")}
)
多对多双向关联
例如:老师和学生的关系,老石需要知道自己有那些学生。学生知道那些老师
关联关系的CRUD(重点)
创建:create
多对一:
在多方操作的设置:的一方设立annotation为@Cascade(CascadeType.ALL)为保存表之间的关联关联
键值。
cascade为关联为表插入值有关联数据对应值。
一对多:
在一方的操作的设置。
设定CASCADE可以设定在持久化编程时候对于关联对象的操作
cascade仅仅是帮我们省了编程的麻烦作用不大
a)cascade的属性指明做什么操作的时候关联对象是绑在一起。
b)merge=save_update
c)refersh=A里面需要读取B改过之后的数据
规律:双向关系在程序中要设定双向关联
规律:双向mayppedBy
cascade管增删改,fetch管理读
更新:update
cascade=CascadeType.ALL
删除:delete
删除和更新的同时先查询下。
设置Cascade=CascadeType.REMOVE
如果要消除关联关系先设定关联关系为NULL,在删除对应记录,如果不删除记录,该记录就变成垃圾
数据。
O/R Mapping 编程模型
1)映射模型
JPA annotation(核心)
hibernate annotation extension
hibernate xml
jpa xml
2)编程接口
JPA (核心)
hibernate
3)数据查询语言
HQL
EJBQL(JPQL)
作业:树状结构的设计(至关重要)
在同一个类中使用OneToMany和ManyToOne
关联关系总结:
1)什么关系类型,设定什么关系表,使用什么关系映射。
2)CRUD,动手实战。
集合映射
1)Set
2)List
list 存储多的一方,应该怎么存储数据。
list可以排序,可以使用@orderBy排序
3)Map
@MapKey(name="主键字段名称")
分享到:
相关推荐
关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.关系映射.
对象/关系映射 —Hibernate 对象/关系映射 —Hibernate 对象/关系映射 —Hibernate
hibernate 对象关系映射总结hibernate 对象关系映射总结hibernate 对象关系映射总结
Hibernate对象关系映射一对多 很基础等文档
hibernate的关联关系映射,所有描述以选课系统这个案例来说明
Hibernate_关联关系映射配置详解,希望能帮助广大java爱好者
数学方法论丛书-关系映射反演方法.pdf
对象-关系映射—Hibernate 培训 (中文) 目录 一、持久化层-O/R Mapping 二、Hibernate入门 三、Hibernate映射申明(Mapping declaration) 四、持久化对象的状态和生命周期 五、Hibernate查询 六、Hibernate最佳...
Her 一个ORM(对象关系映射)将REST资源映射成Ruby对象,它旨在用一个RESTful API代替数据库来构建应用程序。
基于 mybatis和Spring MVC的一对一,多对多 ,一对多的关系映射
学习笔记之什么是持久化和对象关系映射ORM技术,什么是所谓的持久化,什么是ORM
对象关系映射,并持久化到数据库的开源组件,是对JDBC 的封装,主要负责java 对象的持久化.。 对象序列化适应临时的少量的对象备份。 对象持久化和关系型数据库联合在一起,适应大量的对象持久存储
ORM对象关系映射。。ORM对象关系映射。。太详细了。。最全的介绍。
JPA一对一,一对多,多对多关系映射,面向对象领域
Hibernate 关联关系映射分类
O/R Mapping中对象关系映射解决方案汇总 对于一个ORM方案时,为了提供用户对具体映射方案的细颗粒度的控制的可能,特别对于企业级应用,应该是用户选择是否使用该产品比较重要的因素之一,需要尽可能多的实现...
Hibernate关联关系映射 单向关联 │ ├─ 一对一外键单向关联 │ ├─ 一对一主键单向关联 │ ├─ 一对一连接表单向关联 │ ├─ 一对多外键单向关联 │ ├─ 一对多连接表单向关联 │ ├─ 多对一外键单向关联 │ ...
熟悉Hibernate的“多对一”关系映射,并应用于web系统中
对象关系映射模型
关系映射矩阵生成源代码