Jakarta Persistence Query Language

JPQL is used to make queries against entities stored in a relational database.

It is heavily inspired by SQL, and its queries resemble SQL queries in syntax,[1]: 17, §1.3  but operate against JPA entity objects rather than directly with database tables.

Example JPA Classes, getters and setters omitted for simplicity.

Then a simple query to retrieve the list of all authors, ordered alphabetically, would be: To retrieve the list of authors that have ever been published by XYZ Press: JPQL supports named parameters, which begin with the colon (:).

We could write a function returning a list of authors with the given last name as follows: JPQL is based on the Hibernate Query Language (HQL), an earlier non-standard query language included in the Hibernate object-relational mapping library.