NutzCN Logo
问答 多表关联问题疑惑解析
发布于 2280天前 作者 naxxm 1328 次浏览 复制 上一个帖子 下一个帖子
标签:

用户角色表 --- 角色权限表 --- 权限表
下边这种方法能取出来角色和权限,但是我想问有没有什么封装好的方法直接取出所有用户角色所对应的权限

//角色 id- 角色权限 - 权限对象,返回--->权限对象列表
		List<EmployeeRole> employeeRole = myDao.fetchLinks(myDao.query(EmployeeRole.class,Cnd.where("gs_bm","=",activeUser.getCompanyBm()).and("employee_bm", "=", activeUser.getEmployeeBm())), "permissions");
		
		
		
		if(employeeRole!=null && employeeRole.size()>0){			
			System.out.println("获取权限对象");
			
			System.out.println(employeeRole.get(0).getPermissions());//2
			System.out.println(employeeRole.get(1).getPermissions());//2
			System.out.println(employeeRole.get(2).getPermissions());//1
			return null;
		
		}			

角色权限list,只能自己写迭代遍历嘛?只是想简单一点~功能可以实现

[com.naxxm.bean.company.Permission@1aebae6, com.naxxm.bean.company.Permission@1b6b0b0]
[com.naxxm.bean.company.Permission@3f1758, com.naxxm.bean.company.Permission@1aef7db]
[com.naxxm.bean.company.Permission@15304c2]
3 回复

有没有什么方法直接链式,获取员工下的所有权限列表,我现在这样做,要遍历出员工拥有几个角色,然后再去遍历角色对应的多个权限,有提供的方法直接获取 首尾对应的值没 直接 员工 ---------》权限

遍历

public List<Permission> findPermissionListByBm(ActiveUser activeUser) throws Exception {
		List<EmployeeRole> employeeRole = myDao.fetchLinks(myDao.query(EmployeeRole.class, Cnd.where("gs_bm", "=", activeUser.getCompanyBm()).and("employee_bm", "=", activeUser.getEmployeeBm())),"permissions");
		if (employeeRole != null && employeeRole.size() > 0) {
			List<Permission> permissions = new ArrayList<Permission>();
			for (EmployeeRole role : employeeRole) {
				for (Permission permission : role.getPermissions()) {
					permissions.add(permission);
					System.out.println(permission.getName());
				}
			}
			return permissions;
		}
		return null;
	}

如果用户量少,可以全部记录取出来然后在内存里排列....

添加回复
请先登陆
回到顶部