2018.11.4 Hibernate中一对、多对多的关系

时间:2023-03-08 15:14:58
2018.11.4 Hibernate中一对、多对多的关系

简单总结一下

多表关系

一对多/多对一

O 对象 一的一方使用集合. 多的一方直接引用一的一方.

R 关系型数据库 多的一方使用外键引用一的一方主键.

M 映射文件 一:







多:

操作: 操作管理级别属性. 

	cascade: 级联操作
减少我们书写的操作代码.
none(默认值) 不级联
save-update: 级联保存
delete: 级联删除
all: 级联保存+级联删除
结论: 可以使用save-update.不推荐使用delete. 也可以不用cascade.
inverse: 反转关系维护
属于性能优化.关系的两端如果都书写了关系.那么两方都会发送维护关系的语句.
这样,语句就发生重复.我们可以使用inverse使一的一方放弃维护关系.
true 放弃
false(默认值) 维护
结论: 在一对多中,一的一方可以放弃维护关系.

多对多

O 对象 两方都使用集合.

R 关系型数据库 使用中间表.至少两列.作为外键引用两张表的主键.

M 映射文件 多:







2018.11.4 Hibernate中一对、多对多的关系

操作:操作管理级别属性.
cascade: 级联操作
减少我们书写的操作代码.
none(默认值) 不级联
save-update: 级联保存
delete: 级联删除
all: 级联保存+级联删除
结论: 可以使用save-update.不推荐使用delete. 也可以不用cascade.
inverse: 反转关系维护
属于性能优化.必须选择一方放弃维护主键关系.哪方放弃要看业务方向.

2018.11.4 Hibernate中一对、多对多的关系