×

首页>讲师原创专区

教师图片

徐老师

4文章总数

14450总阅读数

查看Ta的文章>>

hibernate03多表操作

发布于:2018年11月05日 浏览:3570次 0

一、表与表之间的关系

一对多

古代夫妻之间的关系,一个丈夫对应多个妻子

一对多建表:通过外键来建立关系

多对多

订单和商品是多对多的关系,一个订单中可以有多个商品,一个商品可以出现在多个订单中

人物和角色的关系

一对一

键值对

二、一对多的操作

2.1一对多的映射配置

2.2创建两个实体类[丈夫(一) 妻子(多)]

让两个实体类之间产生关联

在丈夫类里面表示多个妻子

一个丈夫里面有多个妻子(创建妻子set


在妻子实体类中表示所属丈夫

一个妻子只能属于一个丈夫(创建丈夫对象)


2.3配置映射文件

一个实体类对应一个映射文件

配置最基础配置

在映射文件中,配置一对多关系

在丈夫映射文件中,表示所有妻子


在妻子映射文件中,表示丈夫


创建核心配置文件

测试

2.4一对多的级联操作

级联保存

创建丈夫和妻子对象       

在丈夫表示妻子,在妻子中表现丈夫

把丈夫对象放到妻子对象中

把妻子对象放到丈夫中

保存到数据库

简化方式

在丈夫表中做配置

set中加cascadesave-update


创建丈夫和妻子对象,只需要将妻子放到丈夫里面就可以了,只需要保存丈夫即可


级联删除

cascade中添加delete

根据id查询丈夫对象

调用方法删除


级联修改

根据id查询丈夫,根据id查询妻子

设置持久态的值


设置inverse属性


因为hibernate双向维护外键,在客户和联系人里面都需要维护外键,修改客户时候修改一次外键,修改联系人时候也修改一次外键,造成效率问题

三、多对多操作

3.1多对多映射配置

创建实体类、人,爱好

两个实体类互相表示

一个人有很多爱好

一个爱好可以很多人共有

配置映射关系

基本配置(除基本属性外,添加set集合)



配置关系

在核心配置文件中引入映射文件



级联保存


级联删除

设置配置文件


书写代码删除


维护第三张表

只需要将set中数据修改即可



推荐专题

专栏图标 专栏图标 专栏图标 专栏图标 专栏图标 专栏图标

PMI, PMP, Project Management Professional, CAPM, PgMP, PfMP, PMI-ACP, PMI-RMP, PMI-SP, PMI-PBA and PMBOK are registered marks of the Project Management Institute, Inc.

ITIL® is a registered trade mark of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.

PRINCE2® is a registered trade mark of AXELOS Limited, used under permission of AXELOS Limited. All rights reserved.

Copyright © 2006-2019 东方瑞通(北京)咨询服务有限公司版权所有

京ICP备 13009094号 京公网安备 11010802014211号