美文网首页
Hibernate(三)——映射关系

Hibernate(三)——映射关系

作者: 贾里 | 来源:发表于2018-02-12 17:14 被阅读7次

1.多对一映射


image.png image.png image.png

2.一对多映射


一对多:
不是说一个部门对应多个employees集合.
而是说一个部门对于employees集合中的多个元素(员工).


image.png image.png image.png image.png image.png image.png

3.双向多对一映射


image.png image.png image.png image.png

选择

任何时候,都可以直接删除many方.
在双向的one2many/many2one中,
1,inverse=false的时候,可以直接删除one方(先把所有many方的外键设置为空);
2,inverse=true的时候,不能直接删除one方;(外键约束--->HQL)

开发中多对一,一对多,单向和双向的选择?
1:绝大多数的大多数情况都是使用:单向的many2one即可.
在开发中,添加many方数据的时候,都是通过下拉列表选择one方.
2:少数情况,会使用双向的多对一(对象成树状结构(自连接查询/部门)/组合关系).
但是注意,此时inverse一定要设置为true.
3:很难使用到one2many.

使用双向管理映射,至少都会发生5条SQL.
先保存部门,再保存员工.
通过分析SQL,发现其实只需要前3条SQL就可以完成数据保存操作.
后面两天UPDATE语句,是因为one方也想维护关系,故意发出的.
如此一来,性能就低了.
如果是双向关联映射,我们要让one方放弃管理,(one方不负责关系维护).


image.png

4.一对一(略)


image.png image.png image.png image.png

5.多对多(略)


image.png image.png image.png

6.映射枚举类型


image.png image.png

枚举对象:有序号(ordinal,从0开始)和元素名称(MAN).
所以:我要表示user.setGender(Gender.WOMAN);
Gender.WOMAN存储到数据库有两种形式:
第一种:使用序号1来存储(默认).
第二种:使用元素名WOMAN做存储.

image.png

7.组件映射(略)

image.png image.png image.png

问题1:之前设计one2one的时候,是让customer表和customerprofile表分别存储信息.
其实,我们可以使用一张表来存储客户的基本信息和拓展信息.怎么做?
问题2:上图的公司的对象的营业地址和注册地址如何做配置.

在一个宿主对象中,如果出现了两个相同的组件对象,一定要修改列的名称.


image.png image.png

相关文章

  • Hibernate(三)——映射关系

    1.多对一映射 2.一对多映射 一对多:不是说一个部门对应多个employees集合.而是说一个部门对于emplo...

  • 4.hibernate映射(多对一)

    映射关系 映射是对象到表,映射关系是多个对象的关系映射到多张表的关系! cascade级联 hibernate的级...

  • Hibernate介绍

    Hibernate的介绍: (开放源代码的对象关系映射框架) Hibernate是一个开放源代码的对象关系映射框架...

  • Hibernate入门(一)之基本配置

    Hibernate是什么? Hibernate是一个开源的持久层ORM(对象关系映射)框架. Hibernate能...

  • Hibernate 映射关系

    0. 关联关系映射 关联关系映射,是映射关系中比较复杂的一种映射关系,总的说来有一对一、一对多和多对多几种关系。细...

  • hibernate映射关系

    多对一单项关联 例:学生和班级的关系,学生为多方,班级为一方实现 最终实现效果就是相当于在Student表中再添加...

  • Hibernate映射关系

    分类: 关系:OneToOne,OneToMany,ManyToOne,ManyToMany(Join Table...

  • Hibernate映射关系

    映射组成关系 建立域模型和关系型数据库模型有着不同的出发点域模型:由程序代码组成,通过细化持久化类的粒度可以提高代...

  • Hibernate映射关系

    在 Hibernate 中,可以对多张存在关联关系的表进行操作,但需要在映射文件中,将对象的关联关系与数据库表的外...

  • Hibernate入门1-基本用法

    Hibernate 快速入门1 - 基本用法 Hibernate简介 ORM:对象关系映射(ORM, Object...

网友评论

      本文标题:Hibernate(三)——映射关系

      本文链接:https://www.haomeiwen.com/subject/eyfdtftx.html