Hibernate中,用户和角色是多对多的关系,级联保存的使用? 10
想做一下角色和用户的关联应用,现在是:user和role两个表,多对多,自动生成了中间表,主要是对user的操作!比如我在页面新增一个用户,选择了角色,保存该用户的时候,...
想做一下角色和用户的关联应用,现在是:user和role两个表,多对多,自动生成了中间表,主要是对user的操作!
比如我在页面新增一个用户,选择了角色,保存该用户的时候,hibernate会自动的在中间表user_role中增加一条记录,也会在role表中增加一条记录!
这样不行啊,我新增用户,只想在中间表中插入一条记录,用于存储关联关系,而不应该在role表中增加记录!role表一般是不会该表的!
该怎么实现这个功能呢?(插入用户,只插入中间表,不插入role表)!
还有,cascade=all 展开
比如我在页面新增一个用户,选择了角色,保存该用户的时候,hibernate会自动的在中间表user_role中增加一条记录,也会在role表中增加一条记录!
这样不行啊,我新增用户,只想在中间表中插入一条记录,用于存储关联关系,而不应该在role表中增加记录!role表一般是不会该表的!
该怎么实现这个功能呢?(插入用户,只插入中间表,不插入role表)!
还有,cascade=all 展开
2个回答
展开全部
<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>
<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中的数据还是你新建的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询