Аннотации запросов в Spring Data Jpa

Data предоставляет аннотации, которыми можно…задавать собственные запросы. Да да, ещё один метод 🙂

Код примеров ниже основан на коде из статьи Hello, Spring Data JPA

@Query

Аннотация @Query позволяет добавить свой собственный JPQL запрос.

В запросах можно использовать и именованные параметры, хотя и с несколько неуклюжим синтаксисом:

Spring Expression Language

А ещё в @Query можно использовать выражения и подстановки SpEL:

Spring Data Jpa добавляет свою собственную переменную, #{#entityName}, которая разворачивается в имя сущности, которой типизирован репозиторий.

Query hints

Используя аннотацию @QueryHints можно добавлять Jpa query hints (и hibernate query hints и вообще любые query hints любых реализаций) к любому запросу:

Код примера доступен на github