您不需要DynamicQuery。这些是你在一个德克指出的类寻找方法:
long[] UserServiceUtil.getRoleUserIds(long roleId)
或
long[] UserLocalServiceUtil.getRoleUserIds(long roleId)
List<User> UserLocalServiceUtil.getRoleUsers(long roleId)
请记住,在类XXXLocalServiceUtil方法不检查当前用户的权限。
编辑:如果你正在寻找所有用户与特定社区内的给定角色:
long companyId= _X_; //Perhaps CompanyThreadLocal.getCompanyId() if you don't have it anywhere else?
Role role=RoleLocalServiceUtil.getRole(companyId, "Example Role");
Group group=GroupLocalServiceUtil.getGroup(companyId, "Example Community");
List<UserGroupRole> userGroupRoles = UserGroupRoleLocalServiceUtil.
getUserGroupRolesByGroupAndRole(groupId, role.getRoleId());
for(UserGroupRole userGroupRole:userGroupRoles){
User oneUser=userGroupRole.getUser();
}
我想获得分配了特定组织角色的用户,我得到角色的角色ID,但无法获得与该角色ID相关联的用户。我也知道这些条目在USerGroupTable中。你能帮我... – Prem 2012-03-20 07:23:23
你可以利用'UserLocalServiceUtil.getRoleUsers(roleId)' – 2013-04-21 07:41:34