2 baidu 32809053 baidu_32809053 于 2016.04.02 23:46 提问

Hibernate中多对多关系中给用户赋予权限遇到的问题

我的问题是这样的
我有一个用户表 elec_user
一个角色表 elec_role
一个用户表和角色表之间联系的中间表 elec_user_role
图片说明
图片说明
我在jsp页面中给相应的角色赋予角色
但是由于考虑到角色太多,就给显示角色信息的table使用了分页
但是最后我给角色勾选了分配角色后,由于点了分页的原因,之前的数据又没有了,这又没有
好的解决办法呢??
我的想法就是在jsp页面中搞个隐藏域,当每次勾选了就给隐藏域的值加上每个角色的
id,然后每个id之间用一个特殊符号隔开...,但是问题又来了,当我随便选择一个打了勾的
,接着把勾去掉,那么岂不是又要去把那个隐藏域的值给做很大的变动...那样很麻烦
....所以我想问下有没有比较好的解决办法???

4个回答

xionglangs
xionglangs   Rxr 2016.04.03 10:11

你的问题就是每次分页进行了后台访问,而又没有对后台写一定的算法去判定该不该赋予这个角色,要不要清除以前赋予的角色,直接用了修改,当然就只有刚刚选的那页了,所以解决办法有两个,这里就说一个吧:首先你要知道,你的角色在多也不会在10万,百万以上,所以可以用完全查询,js实现分页,这样就不会进行后台访问了,再用过form表单包含所有的角色,再在每个前面放个复选框,name属性相同,后台通过request.getparametervalues()方法获取所有的角色,这样你分页前的角色也会存在,再修改下就可以了。

baidu_32809053
baidu_32809053 感谢!
2 年多之前 回复
devmiao
devmiao   Ds   Rxr 2016.04.02 23:54
baidu_32809053
baidu_32809053 我看了下,这个不符合我的要求啊~~~
2 年多之前 回复
hedianwei
hedianwei   2016.04.02 23:58

对于分配角色的问题有几种解决的办法:第一种:尝试給权限进行分组,即组织机构。第二种:尝试增量式分页。希望对你有些帮组。

baidu_32809053
baidu_32809053   2016.04.03 00:01

不好意思手误,上面说到给对应的角色赋予角色应该是 给对应的用户赋予角色

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Hibernate中一对多和多对一关系
http://blog.sina.com.cn/s/blog_4b5bc0110100z483.html 1、单向多对一和双向多对一的区别? 只需要从一方获取另一方的数据时 就使用单向关联 双方都需要获取对方数据时 就使用双向关系 部门--人员 使用人员时 如果只需要获取对应部门信息(user.getdeptarment()) 不需要 从部门下的人员信息时,就
(经典)Hibernate多对多关系映射(五)
多对多关系是产生在三张表的关系中的,必须有一张中间表,必须保证中间表只有两个字段,必须是复合主键,必须是另两张表的外键。 如果按照多对多关系来设计类,例如:学生选课 这里只创建学生和课程类,中间表不生成对应的pojo。 类中通过以下方式表示关系: 1)  学生会选择多门课程,因此在学生类中包含了多个课程类的对象,使用Set集合来保存。 2)  一门课程有多个学生选择,因此课程类中也要包含
Hibernate中的表的多对多关系及操作
表的多对多关系及操作 多对多的表关系表达 表: 使用中间表,分别引用两方的ID 对象:  两方都使用集合表达 配置: 操作: inverse: 我是否要放弃维护外键关系 cascade: 是否需要级联操作 (5个) 注意: 配置级联删除时,要小心,双方都配置级联删除, 任意删除一条记录, 整个关系链数据都会被删除. 多对多的对象关系表达
hibernate多对多关系查询
用户sys_userinfo和角色sys_role,典型的多对多关系, 用户表:sys_userinfo 角色表:sys_role 关联表:rel_user_role 用户sysUserInfo: @Entity @Table(name = "SYS_USERINFO") public class SysUserinfo implements java.io.Serializabl
SSH框架之Hibernate的多对多映射、多对多关联关系维护(inverse)
一、Hibernate的多对多映射 1、需求: 2、代码实现: 1)javabeans以及映射文件的配置 a)Project.java、Project.hbm.xml b)Developer.java、Developer.hbm.xml 2)测试类App1_save.javapackage sram.manyToMany; import org.hibernate.Session;
Hibernate 学习笔记 之 多对多关系 及其 级联操作
一、多对多配置 User.java/** * Created by Donald on 2016/11/20. */ public class User { private Integer user_id; //用户id private String user_name; //用户名 private String user_password; //用户密码 //一
hibernate中设置inverse属性对多对多关联关系的影响
设置inverse属性,在多对多种维护关联关系的影响? 1) 保存数据 有影响。           inverse=false ,有控制权,可以维护关联关系;保存数据的时候会把对象关系插入中间表;          inverse=true,  没有控制权,不会往中间表插入数据。 2) 获取数据          无。   3) 解除关系          // 有影响
Hibernate多对多关系映射
多对多关系并不是两张表的关系,而是三张表的关系,而且要求必须有一个中间表,中间表必须只有两个字段,必须为复合主键,必须包含外键。 如果以上条件都满足,MyEclipse在三张表一起选择时,就可以生成多对多关系映射。   类一般只生成两个类,例如:学生选课中,只生成学生和课程类,关系使用以下方式描述: 1)  学生类中保存着该学生选择的所有课程对象,使用Set集合来保存。 2)  课程类中
Hibernate的多对多关联关系(单向和双向)
n-n(多对多)的关联关系必须通过连接表实现。下面以商品种类和商品之间的关系,即一个商品种类下面可以有多种商品,一种商品又可以属于多个商品种类,分别介绍单向的n-n关联关系和双向的n-n关联关系。单向的n-n关联关系  如果仅使用两张数据表,是不能实现n-n的关联关系的,如下图:      商品ITEM_AA属于商品种类CATEGORY_AA,但是如果商品ITEM_AA又同时属于商品种类CATE
hibernate一对一,一对多,多对一,多对多关系映射与级联
hibernate一对一,一对多,多对一,多对多关系映射与级联