# The Java EE 7 Tutorial

# 39 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 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 an 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 37, "Introduction to the Java Persistence API". For code examples, see Chapter 38, "Running the Persistence Examples."

The following topics are addressed here:

- Query Language Terminology

- Creating Queries Using the Java Persistence Query Language

- Simplified Query Language Syntax

- Example Queries

- Full Query Language Syntax