JPQL (Java Persistence Query Language) — это язык запросов в JPA, который позволяет работать с сущностями, а не с таблицами базы данных. Он похож на SQL, но оперирует объектами и их полями, а не колонками и строками.
🔹 Пример запроса JPQL:
@Query("SELECT u FROM User u WHERE u.email = :email")
User findByEmail(@Param("email") String email);В этом запросе User — это сущность, а u.email — поле класса, а не колонка таблицы.
🔹 Основные особенности JPQL:
— Работает с классами сущностей (@Entity), а не с таблицами.
— Поддерживает вложенные запросы, JOIN, ORDER BY, GROUP BY, HAVING.
— Позволяет использовать именованные параметры (:paramName).
— Не зависит от конкретной реляционной базы данных.