2018.11.4 Hibernate中多对多的关系

Posted Legend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018.11.4 Hibernate中多对多的关系相关的知识,希望对你有一定的参考价值。

简单总结一下

多表关系

一对多/多对一
O 对象 一的一方使用集合. 多的一方直接引用一的一方.
R 关系型数据库 多的一方使用外键引用一的一方主键.
M 映射文件 一:
多:

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

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

多对多
O 对象 两方都使用集合.
R 关系型数据库 使用中间表.至少两列.作为外键引用两张表的主键.
M 映射文件 多:

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







以上是关于2018.11.4 Hibernate中多对多的关系的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate中多对多

Hibernate框架进阶(中篇)之多表关系

Laravel中多对多关系的多重搜索子句

hibernate 关联关系(多对多对多一对一)的配置

Hibernate多对一,多对多的表映射关系

Hibernate学习8—Hibernate 映射关系(多对多)