# The Java EE 7 Tutorial

# 40 Using the Criteria API to Create Queries

The Criteria API is used to define queries for entities and their persistent state by creating query-defining objects. Criteria queries are written using Java programming language APIs, are typesafe, and are portable. Such queries work regardless of the underlying data store.

The following topics are addressed here:

- Overview of the Criteria and Metamodel APIs

- Using the Metamodel API to Model Entity Classes

- Using the Criteria API and Metamodel API to Create Basic Typesafe Queries