The Java Persistence Query Language
The Java Persistence query language defines queries for entities and their persistent state. The query language allows you to write portable queries that work regardless of the underlying data store.
The query language uses the abstract persistence schemas of entities, including their relationships, for its data model, and it defines operators and expressions based on this data model. The scope of a query spans the abstract schemas of related entities that are packaged in the same persistence unit. The query language uses a SQL-like syntax to select objects or values based on entity abstract schema types and relationships among them.
This chapter relies on the material presented in earlier chapters. For conceptual information, see Chapter 24, Introduction to the Java Persistence API. For code examples, see Chapters The persistence.xml File and Updating Data in the Database.