Java Persistence Query Language

JPQL es un lenguaje de consultas que se basa en comandos SQL pero con una variación ya que se usa la caché de la persistencia usado para hacer consultas contra las entidades almacenadas en una base de datos relacional.

Ejemplo de clases JPA, los getters y setters han sido omitidos por simplicidad.

Dadas esas clases, una consulta simple para obtener la lista de todos los autores, ordenados alfabéticamente, sería: Para recuperar la lista de autores que han sido publicados alguna vez por XYZ Press: JPQL admite parámetros con nombre, que comienzan por dos puntos (:).

Hibernate y HQL se crearon antes de la especificación JPA.

Hasta la versión Hibernate 3, JPQL es un subconjunto de HQL.