1. 程式人生 > >hibernate多對多

hibernate多對多

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多對多