Подтвердить что ты не робот

Как использовать ключевое слово exist в Spring Data для проверки существования сущности?

Как использовать ключевое слово 'exists' в Spring Данные в методе запроса?

Я хотел бы иметь такой метод:

public interface ProfileRepository extends JpaRepository<Profile, Long> {
  boolean existsByAttribute(String attribute);
}

где Attribute - поле профиля.

Обходным решением будет использование custom-implementation. Но приложение определяет как ключевое слово. Может ли кто-нибудь дать мне пример того, как использовать это ключевое слово?

4b9b3361

Ответ 1

Документированные ключевые слова предназначены для использования в сочетании с ссылкой на свойство. Таким образом, семантика EXISTS в этом случае заключается в том, что она проверяет, существует ли свойство. Обратите внимание, что часть документации вытащила ее из Spring Data Commons, и указанное там ключевое слово не означает, что оно поддерживается в Spring Data JPA (указано в первом абзаце раздела, который вы связали). EXISTS не поддерживается Spring данными JPA, поскольку он имеет смысл только в MongoDB, например, поскольку существует разница между полем, которое не представлено полностью, и поле, доступное с логическим значением null.

Итак, то, что вы ищете, похоже на ключевое слово (Is)Null с текущим ограничением, которое будет возвращать объекты, и вам нужно будет проверить возвращенный список для содержимого. Там билет, чтобы добавить поддержку прогнозов для производных методов запросов, которые вы, возможно, захотите сделать для дальнейшего прогресса.

Ответ 2

Аналогичный результат можно получить, используя примерную функциональность Spring Data, здесь.