El lenguaje de consulta de persistencia de Jakarta ( JPQL ; anteriormente lenguaje de consulta de persistencia de Java) es un lenguaje de consulta orientado a objetos independiente de la plataforma definido como parte de la especificación de persistencia de Jakarta (JPA; anteriormente API de persistencia de Java).
JPQL se utiliza para realizar consultas contra entidades almacenadas en una base de datos relacional. Está muy inspirado en SQL y sus consultas se asemejan a consultas SQL en sintaxis, pero operan contra objetos de entidad JPA en lugar de directamente con tablas de base de datos.
Además de recuperar objetos ( consultas) , SELECT
JPQL admite consultas basadas en conjuntos.UPDATE
DELETE
JPQL admite parámetros con nombre, que comienzan con dos puntos ( :
). Podríamos escribir una función que devuelva una lista de autores con el apellido dado de la siguiente manera:
JPQL se basa en Hibernate Query Language (HQL), un lenguaje de consulta anterior no estándar incluido en la biblioteca de mapeo relacional de objetos de Hibernate .
Hibernate y HQL se crearon antes de la especificación JPA. A partir de Hibernate 3, JPQL es un subconjunto de HQL.