您不需要 DynamicQuery。这些是您在 Dirk 指出的类中寻找的方法:
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();
}