hibernate如何操作中间表?

我有一个系统角色表、一个权限表,是多对多关系。系统角色实体类下有一个Set<Right>rights的集合实例变量,如果我想增删该系统角色的权限,应该怎样做?... 我有一个系统角色表、一个权限表,是多对多关系。系统角色实体类下有一个Set<Right> rights 的集合实例变量,如果我想增删该系统角色的权限,应该怎样做? 展开
 我来答
zhishemi521
推荐于2016-06-27 · TA获得超过3万个赞
知道大有可为答主
回答量:2.4万
采纳率:0%
帮助的人:9596万
展开全部
举例说明:三张表 t_userseoles是中间表、其他的t_user和t_role
UsersRoles.hbm.xml
<hibernate-mapping>
<class table="T_UsersRoles" name="com.rui.oa.model.UsersRoles">
<id name="id">
<generator class="native"/>
</id>
<many-to-one name="role"/>
<many-to-one name="user"/>
<property name="orderNo"/>
</class>
</hibernate-mapping>

User.hbm.xml
<hibernate-mapping auto-import="false">
<class table="T_User" name="com.rui.oa.model.User">
<id name="id">
<generator class="native"/>
</id>
<property name="username" not-null="true" unique="true"/>
<property name="password" not-null="true"/>
<property name="createTime" update="false"/>
<property name="expireTime"/>
<many-to-one unique="true" name="person"/>
</class>
</hibernate-mapping>

Role.hbm.xml
<hibernate-mapping>
<class table="T_Role" name="com.rui.oa.model.Role">
<id name="id">
<generator class="native"/>
</id>
<property name="name" not-null="true" unique="true"/>
</class>
</hibernate-mapping>
就是说只要映射关系就行了,不用特别的设置,这张表要自己建立出来,不是自动生成的
zhu1361
2011-09-20 · TA获得超过175个赞
知道小有建树答主
回答量:825
采纳率:100%
帮助的人:150万
展开全部
你想给一个角色 付多个权限 那就要先得到勾选的权限id集合 然后在业务中循环处理按照id查询出来对象 然后在(假设系统角色表 为 userinf,权限表为Right) userinf.getRights().add(right);
最后执行更新方法就可以了 如果删除的话userinf.getRights().clear(); 如果修改 那么先清空然后在添加就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式