Hibernate中,用户和角色是多对多的关系,级联保存的使用? 10

想做一下角色和用户的关联应用,现在是:user和role两个表,多对多,自动生成了中间表,主要是对user的操作!比如我在页面新增一个用户,选择了角色,保存该用户的时候,... 想做一下角色和用户的关联应用,现在是:user和role两个表,多对多,自动生成了中间表,主要是对user的操作!
比如我在页面新增一个用户,选择了角色,保存该用户的时候,hibernate会自动的在中间表user_role中增加一条记录,也会在role表中增加一条记录!
这样不行啊,我新增用户,只想在中间表中插入一条记录,用于存储关联关系,而不应该在role表中增加记录!role表一般是不会该表的!

该怎么实现这个功能呢?(插入用户,只插入中间表,不插入role表)!

还有,cascade=all
展开
 我来答
中岛嘉兰
2017-10-17
知道答主
回答量:3
采纳率:0%
帮助的人:3154
展开全部
哥,用户和角色关联的前提是什么,前提是两者都有才能关联啊,你保存了用户没保存角色,光插入中间表有什么用,中间表记录的角色你又没保存,请问这样有什么意义,正常的逻辑是先创建一个角色保存起来,然后创建用户的时候指定这个角色给用户,这样在保存用户的时候就会在中间表插入一条记录证明这个用户对应着这个角色,查询用户的时候根据中间表去查找这个用户的角色也能找到对应数据了,这三者缺一不可
摩以旋4q
2014-08-05 · 超过13用户采纳过TA的回答
知道答主
回答量:46
采纳率:100%
帮助的人:18万
展开全部
<list name="roles" table="tb_user_role">
<key column="user_id"></key>
<list-index column="list_index"></list-index>
<many-to-many class="Role" column="role_id"></many-to-many>
</list>
追问
你这个是list集合类型吗?我实体类是set类型的啊,现在设置cascade="save"存储一个用户,会在关系表和角色表各插一条记录,不设置cascade,保存用户的时候会提示说我指向了一个未保存的瞬时对象--角色,也就是说必须先保存角色才能保存用户! 这个怎么办?
追答
是list集合。你的角色是role中的数据还是你新建的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式