Что такое JPQL и как он отличается от SQL?

Middle
257 просмотров
AFK Offer AI

JPQL работает с объектами JPA, не с таблицами. "SELECT u FROM User u WHERE u.email = :email" — u это Entity класс, u.email — поле Java, не колонка. JPA транслирует в SQL с учётом маппинга. Преимущества: независимость от схемы БД, type safety с именами полей. Ограничения: не все SQL возможности (нет LATERAL JOIN, некоторые window functions). Для сложных запросов — native queries. Criteria API — программный builder для JPQL, type-safe но verbose.

Следующий вопрос

Что такое R2DBC и почему нельзя просто использовать JPA с WebFlux?