| interface  | CollectionJoin<Z,E> | The CollectionJoininterface is the type of the result of
 joining to a collection over an association or element 
 collection that has been specified as ajava.util.Collection. | 
| interface  | CompoundSelection<X> | The CompoundSelectioninterface defines a compound selection item
 (tuple, array, or result of constructor). | 
| static interface  | CriteriaBuilder.Case<R> | Interface used to build general case expressions. | 
| static interface  | CriteriaBuilder.Coalesce<T> | Interface used to build coalesce expressions. | 
| static interface  | CriteriaBuilder.In<T> | Interface used to build in predicates. | 
| static interface  | CriteriaBuilder.SimpleCase<C,R> | Interface used to build simple case expressions. | 
| interface  | Expression<T> | Type for query expressions. | 
| interface  | From<Z,X> | Represents a bound type, usually an entity that appears in
 the from clause, but may also be an embeddable belonging to
 an entity in the from clause. | 
| interface  | Join<Z,X> | A join to an entity, embeddable, or basic type. | 
| interface  | ListJoin<Z,E> | The ListJoininterface is the type of the result of
 joining to a collection over an association or element 
 collection that has been specified as ajava.util.List. | 
| interface  | MapJoin<Z,K,V> | The MapJoininterface is the type of the result of
 joining to a collection over an association or element 
 collection that has been specified as ajava.util.Map. | 
| interface  | ParameterExpression<T> | Type of criteria query parameter expressions. | 
| interface  | Path<X> | Represents a simple or compound attribute path from a 
 bound type or collection, and is a "primitive" expression. | 
| interface  | PluralJoin<Z,C,E> | The PluralJoininterface defines functionality
 that is common to joins to all collection types. | 
| interface  | Predicate | The type of a simple or compound predicate: a conjunction or
 disjunction of restrictions. | 
| interface  | Root<X> | A root type in the from clause. | 
| interface  | Selection<X> | The Selectioninterface defines an item that is to be
 returned in a query result. | 
| interface  | SetJoin<Z,E> | The SetJoininterface is the type of the result of
 joining to a collection over an association or element 
 collection that has been specified as ajava.util.Set. | 
| interface  | Subquery<T> | The Subqueryinterface defines functionality that is 
 specific to subqueries. |