11 июня 2025 г.

Как преобразовать derived Spring Data JPA методы в @Query с JPQL

Derived-методы хорошо подходят для простых запросов и имеют отличную поддержку со стороны инструментов. Например, таких как Ampliсode. Он помогает быстро составить нужный метод, предлагая подходящие конструкции на основе уже существующей модели данных.

Но у derived-методов есть своя особенность: как только логика запроса усложняется, они становятся громоздкими и плохо читаемыми. Иногда — буквально не умещаются на экране ноутбука.

К счастью, эту проблему легко решить с помощью действий Extract JPQL Query или Extract JPQL Query and configure в Ampliсode.

Первый вариант автоматически сформирует корректный JPQL-запрос и добавит его в аннотацию Query, при этом оставив исходное имя метода без изменений. Второй — сделает то же самое, но дополнительно предложит сократить имя метода и выбрать, использовать ли именованные параметры.