Hibernate (three) Hibernate table operation - many to many configuration

Hibernate-to-many relationship map

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

What belongs to many relationship?

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

Hibernate's many configuration

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

Many of the cascade operation

What is called the cascade

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

Cascade save or update

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

Many bidirectional associations set up to produce excess SQL statements

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

Cascading delete

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

Hibernate's many-to-relational mapping

What belongs to-many relationship?

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

Hibernate's many-configuration

Hibernate的多对多
	Hibernate的多对多配置
		搭建Hibernate环境
		创建表
		创建实体
			放置的是对方的集合
		创建映射
			配置的是对象的<set>
		编写测试类
Hibernate的多对多操作
	级联操作
		级联保存或更新
		级联删除
	其他的操作
		给用户选择角色
		给用户改选角色
		给用户删除角色
Published 60 original articles · won praise 4 · Views 1277

Guess you like

Origin blog.csdn.net/qq_43966129/article/details/105066219