поиск по полю списка объекта, не содержащему определенный элемент, используя спецификацию - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь найти всех пользователей, у которых нет роли администратора.

User {
    List<Role> roles = new ArrayList<>();
}
Role {
    String roleName;
}

public Page<User> find() {
Specification<ApplicationUser> spec = builder.build();
        spec = spec.and((root, query, cb) -> {
                    Join join = root.join("roles");
                    query.distinct(true);
                    return cb.not(cb.equal(join.get("roleName"), "ADMIN")); // tried also `cb.notEqual`
                }
        );
...
Page<User> userList = dao.findAll(spec, pageRequest);
return userList;
}

Возвращенный результат все еще содержит пользователя с правами администратора.В чем здесь проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...