Hibernate(三)hibernate表操作-多对多配置

Hibernate的一对多关系映射

表与表之间关系
	一对多关系
	多对多关系
	一对一关系

什么样关系属于一对多?

一个部门对应多个员工,一个员工只能属于某一个部门。
一个客户对应多个联系人,一个联系人只能属于某一个客户。
一对多建表原则:在多的一方创建外键指向一的一方的主键

Hibernate的一对多配置

Hibernate的一对多配置
	搭建Hibernate基本环境
	创建表
	创建实体
		一的一方
			放的是多的一方的集合
		多的一方
			放的是一的一方的对象
	创建映射
		一的一方
			配置的<set>集合
		多的一方
			配置<many-to-one>
	编写测试类
Hibernate的一对多的操作
	级联操作:cascade,用于操作其关联的对象。
		级联保存或更新
		级联删除
	测试对象导航
	放弃外键维护权:inverse,用户控制是否有外键维护能力

一对多的级联操作

什么叫做级联

级联指的是,操作一个对象的时候,是否会同时操作其关联的对象。
级联是有方向性
	操作一的一方的时候,是否操作到多的一方
	操作多的一方的时候,是否操作到一的一方

级联保存或更新

	保存一的一方同时保存多的一方
	保存多的一方同时保存一的一方

一对多设置了双向关联产生多余的SQL语句

解决多余的SQL语句
单向维护:
使一方放弃外键维护权:
	一的一方放弃。在set上配置inverse=true

级联删除

删除一边的时候,同时将另一方的数据也一并删除。
删除客户级联删除联系人

Hibernate的多对多关系映射

什么样关系属于多对多?

一个学生可以选择多门课程,一门课程也可以被多个学生选择。
一个用户可以选择多个角色,一个角色也可以被多个用户选择。
多对多建表原则:创建一个中间表,中间表至少有两个字段,分别作为外键指向多对多双方的主键

Hibernate的多对多配置

Hibernate的多对多
	Hibernate的多对多配置
		搭建Hibernate环境
		创建表
		创建实体
			放置的是对方的集合
		创建映射
			配置的是对象的<set>
		编写测试类
Hibernate的多对多操作
	级联操作
		级联保存或更新
		级联删除
	其他的操作
		给用户选择角色
		给用户改选角色
		给用户删除角色
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值