hibernate多对多

Posted

tags:

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

表结构
技术分享图片

保存操作
需求
创建2个用户和3个角色
让1号用具有1号和2号橘色
让2号用户具有2号和3号角色

问题

在简历双向关联关系时,保存不成功

原因:
在保存用户时,会操作关联关系表 在保存角色是,也会操作关联关系表
报主键重复错误

 解决办法
 让任意一方放弃维护的权利
 多对多关系映射 
set元素的属性
    inverse:是否放弃维护的权利
            true:放弃
            false:不放弃。(默认值)
注意:
    多对多双向关系映射中,inverse属性可以写在任意一方的set元素中。

<set name="roles" table="sys_user_role" inverse="true">
<key column="user_id"></key>
<many-to-many class="SysRole" column="role_id"></many-to-many>
</set>

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

Hibernate 单向/双向 多对多

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

Hibernate多对多关系

hibernate多对多查询

Hibernate-ORM:12.Hibernate中的多对多关联关系

Hibernate多对多关系映射(建表)