您不需要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