почему документация Spring Data JPA описывает методы запросов, начиная только с find?

Справочная документация Фреймворк Spring Data JPA описывает методы запросов на примерах. Примером такого метода является findByEmailAddressAndLastname. Начинается с find. Затем они перечисляют все поддерживаемые ключевые слова внутри имен методов. Я понял, что именованные запросы должны начинаться с find.

Однако следующий метод работает так, как задумано, несмотря на то, что он начинается с exists.

@Repository
public interface UserRepository extends CrudRepository<User, Integer> {
    boolean existsUserByEmail(String email);
}

Он запускает команду

select user0_.id as col_0_0_ from users user0_ where user0_.email=? limit ?

и проверяет, существует ли пользователь. Но при создании метода я опирался на IDE, а не на документацию. Есть ли заявление где-либо в документах Spring Data JPA или где-то еще (возможно, Запрос ссылки на DSL), который можно использовать для создания таких методов?


person banan3'14    schedule 24.08.2018    source источник
comment
Кажется, что в большинстве примеров используется find, что понятно, поскольку дает согласованное имя. В некоторые примеры (пример 9) вы видите find/get, но вроде первую часть можно выбрать по желанию. Не знаю, где это задокументировано (и насколько хорошо), но, вероятно, где-то там.   -  person Kayaman    schedule 24.08.2018


Ответы (1)


Из Spring в действии, 4-е издание. Поддерживается не только «найти», в нем говорится: «Как вы можете видеть, глагол читается, в отличие от поиска из предыдущего примера. Spring Data допускает использование четырех глаголов в имени метода: получить, читать, находить и считать. Глаголы получить, прочитать и найти являются синонимами». Ключевое слово EXISTS также упоминается здесь https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#new-features.1-11-0 в качестве новой функции.

person mmbouraoui    schedule 24.08.2018
comment
Я должен быть слеп. Я не вижу фразу, которую вы цитируете. - person banan3'14; 24.08.2018