Лучший способ запроса NOTIN в Spring Data JPA - PullRequest
1 голос
/ 13 июля 2020

Используя Spring Data JPA, я использую ниже jpa-запрос (он отлично работает) для запроса всех пользователей, кроме тех, кто вошел в систему (для получения списка пиров).

appUserRepository.findByUsernameNotIn(new ArrayList<String>(Arrays.asList(getPrincipal()))).toString()

Поскольку NotIn принимает коллекцию только, и мне пришлось отфильтровать только одно имя, я использую это «неуклюжее» выражение.

Вопрос: Есть ли лучший (короткий) способ добиться этого? Что означает получение всех имен пользователей из таблицы пользователей, кроме вошедшего в систему пользователя? Любая подсказка / помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 13 июля 2020

Вы можете использовать findByUsernameNot(getPrincipal())

Это создаст такой запрос:

… where x.username <> ?1

Вы также можете проверить документацию для получения дополнительной информации

...