Hibernate框架(三)

1、数据库表与表之间的关系

一对多关系,如:一个部门对应多个员工,一个员工只能属于一个部门;一个客户对应多个联系人,一个联系人只能属于某一个客户。

多对多关系,如:一个学生可以选择多门课程,一门课程也可以被多个学生选择;一个订单可以包含多个商品,一个商品可以包含在多个订单内。

一对一关系(了解)。一般可以建一个表,或者可以以一对多关系处理。

2、Hibernate一对多的关系映射

创建项目引入相应jar 包;然后创建数据库和表,如下图所示:
在这里插入图片描述
在这里插入图片描述
创建实体,下面是联系人实体,创建客户对象,并生成其get()、set()方法。
在这里插入图片描述
在这里插入图片描述
创建映射,有几个实体就有几个映射
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建核心配置文件
在这里插入图片描述
在这里插入图片描述
引入工具类
在这里插入图片描述
核心配置文件和工具类可以直接复制之前项目的,稍作修改即可。

编写测试类
在这里插入图片描述
由于保存的时候只保存一边会报错,这里我们可以采用级联配置,如下:
在这里插入图片描述
保存客户级联联系人
在这里插入图片描述
在这里插入图片描述
保存联系人级联客户,同理!

测试对象导航
在这里插入图片描述
级联删除

删除一边的时候,同时将另一方的数据也删除。下面是删除客户级联删除联系人:
在这里插入图片描述
删除联系人级联删除客户,基本不用,不合逻辑。
在这里插入图片描述
在这里插入图片描述
区分cascade 和inverse 的区别:
在这里插入图片描述

3、Hibernate多对多的关系映射

创建表
在这里插入图片描述
角色表
在这里插入图片描述
中间表
在这里插入图片描述
创建实体
在这里插入图片描述
在这里插入图片描述
创建映射
在这里插入图片描述
编写测试
在这里插入图片描述
在这里插入图片描述
只保存一边也是不可以的,会报错瞬时对象异常。

级联操作
在这里插入图片描述
保存角色级联用户,同上。
在这里插入图片描述
其他操作
在这里插入图片描述
在这里插入图片描述
结束!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值