public interface CriteriaBuilder
 Note that Predicate is used instead of Expression<Boolean> 
 in this API in order to work around the fact that Java 
 generics are not compatible with varags.
| Modifier and Type | Interface and Description | 
|---|---|
| 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. | 
| static class  | CriteriaBuilder.TrimspecUsed to specify how strings are trimmed. | 
| Modifier and Type | Method and Description | 
|---|---|
| <N extends java.lang.Number> | abs(Expression<N> x)Create an expression that returns the absolute value
 of its argument. | 
| <Y> Expression<Y> | all(Subquery<Y> subquery)Create an all expression over the subquery results. | 
| Predicate | and(Expression<java.lang.Boolean> x,
   Expression<java.lang.Boolean> y)Create a conjunction of the given boolean expressions. | 
| Predicate | and(Predicate... restrictions)Create a conjunction of the given restriction predicates. | 
| <Y> Expression<Y> | any(Subquery<Y> subquery)Create an any expression over the subquery results. | 
| CompoundSelection<java.lang.Object[]> | array(Selection<?>... selections)Create an array-valued selection item. | 
| Order | asc(Expression<?> x)Create an ordering by the ascending value of the expression. | 
| <N extends java.lang.Number> | avg(Expression<N> x)Create an aggregate expression applying the avg operation. | 
| <Y extends java.lang.Comparable<? super Y>> | between(Expression<? extends Y> v,
       Expression<? extends Y> x,
       Expression<? extends Y> y)Create a predicate for testing whether the first argument is 
 between the second and third arguments in value. | 
| <Y extends java.lang.Comparable<? super Y>> | between(Expression<? extends Y> v,
       Y x,
       Y y)Create a predicate for testing whether the first argument is 
 between the second and third arguments in value. | 
| <N extends java.lang.Number> | ceiling(Expression<N> x)Create an expression that returns the ceiling of its
 argument, that is, the smallest integer greater than
 or equal to its argument. | 
| <T> CriteriaBuilder.Coalesce<T> | coalesce()Create a coalesce expression. | 
| <Y> Expression<Y> | coalesce(Expression<? extends Y> x,
        Expression<? extends Y> y)Create an expression that returns null if all its arguments
 evaluate to null, and the value of the first non-null argument
 otherwise. | 
| <Y> Expression<Y> | coalesce(Expression<? extends Y> x,
        Y y)Create an expression that returns null if all its arguments
 evaluate to null, and the value of the first non-null argument
 otherwise. | 
| Expression<java.lang.String> | concat(Expression<java.lang.String> x,
      Expression<java.lang.String> y)Create an expression for string concatenation. | 
| Expression<java.lang.String> | concat(Expression<java.lang.String> x,
      java.lang.String y)Create an expression for string concatenation. | 
| Expression<java.lang.String> | concat(java.lang.String x,
      Expression<java.lang.String> y)Create an expression for string concatenation. | 
| Predicate | conjunction()Create a conjunction (with zero conjuncts). | 
| <Y> CompoundSelection<Y> | construct(java.lang.Class<Y> resultClass,
         Selection<?>... selections)Create a selection item corresponding to a constructor. | 
| Expression<java.lang.Long> | count(Expression<?> x)Create an aggregate expression applying the count operation. | 
| Expression<java.lang.Long> | countDistinct(Expression<?> x)Create an aggregate expression applying the count distinct 
 operation. | 
| <T> CriteriaDelete<T> | createCriteriaDelete(java.lang.Class<T> targetEntity)Create a  CriteriaDeletequery object to perform a bulk delete operation. | 
| <T> CriteriaUpdate<T> | createCriteriaUpdate(java.lang.Class<T> targetEntity)Create a  CriteriaUpdatequery object to perform a bulk update operation. | 
| CriteriaQuery<java.lang.Object> | createQuery()Create a  CriteriaQueryobject. | 
| <T> CriteriaQuery<T> | createQuery(java.lang.Class<T> resultClass)Create a  CriteriaQueryobject with the specified result 
  type. | 
| CriteriaQuery<Tuple> | createTupleQuery()Create a  CriteriaQueryobject that returns a tuple of 
  objects as its result. | 
| Expression<java.sql.Date> | currentDate()Create expression to return current date. | 
| Expression<java.sql.Time> | currentTime()Create expression to return current time. | 
| Expression<java.sql.Timestamp> | currentTimestamp()Create expression to return current timestamp. | 
| Order | desc(Expression<?> x)Create an ordering by the descending value of the expression. | 
| <N extends java.lang.Number> | diff(Expression<? extends N> x,
    Expression<? extends N> y)Create an expression that returns the difference
 between its arguments. | 
| <N extends java.lang.Number> | diff(Expression<? extends N> x,
    N y)Create an expression that returns the difference
 between its arguments. | 
| <N extends java.lang.Number> | diff(N x,
    Expression<? extends N> y)Create an expression that returns the difference
 between its arguments. | 
| Predicate | disjunction()Create a disjunction (with zero disjuncts). | 
| Predicate | equal(Expression<?> x,
     Expression<?> y)Create a predicate for testing the arguments for equality. | 
| Predicate | equal(Expression<?> x,
     java.lang.Object y)Create a predicate for testing the arguments for equality. | 
| Predicate | exists(Subquery<?> subquery)Create a predicate testing the existence of a subquery result. | 
| Expression<java.lang.Double> | exp(Expression<? extends java.lang.Number> x)Create an expression that returns the exponential
 of its argument, that is, Euler's number e
 raised to the power of its argument. | 
| <N extends java.lang.Number> | floor(Expression<N> x)Create an expression that returns the floor of its
 argument, that is, the largest integer smaller than
 or equal to its argument. | 
| <T> Expression<T> | function(java.lang.String name,
        java.lang.Class<T> type,
        Expression<?>... args)Create an expression for the execution of a database
 function. | 
| Predicate | ge(Expression<? extends java.lang.Number> x,
  Expression<? extends java.lang.Number> y)Create a predicate for testing whether the first argument is 
 greater than or equal to the second. | 
| Predicate | ge(Expression<? extends java.lang.Number> x,
  java.lang.Number y)Create a predicate for testing whether the first argument is 
 greater than or equal to the second. | 
| <Y extends java.lang.Comparable<? super Y>> | greaterThan(Expression<? extends Y> x,
           Expression<? extends Y> y)Create a predicate for testing whether the first argument is 
 greater than the second. | 
| <Y extends java.lang.Comparable<? super Y>> | greaterThan(Expression<? extends Y> x,
           Y y)Create a predicate for testing whether the first argument is 
 greater than the second. | 
| <Y extends java.lang.Comparable<? super Y>> | greaterThanOrEqualTo(Expression<? extends Y> x,
                    Expression<? extends Y> y)Create a predicate for testing whether the first argument is 
 greater than or equal to the second. | 
| <Y extends java.lang.Comparable<? super Y>> | greaterThanOrEqualTo(Expression<? extends Y> x,
                    Y y)Create a predicate for testing whether the first argument is 
 greater than or equal to the second. | 
| <X extends java.lang.Comparable<? super X>> | greatest(Expression<X> x)Create an aggregate expression for finding the greatest of
 the values (strings, dates, etc). | 
| Predicate | gt(Expression<? extends java.lang.Number> x,
  Expression<? extends java.lang.Number> y)Create a predicate for testing whether the first argument is 
 greater than the second. | 
| Predicate | gt(Expression<? extends java.lang.Number> x,
  java.lang.Number y)Create a predicate for testing whether the first argument is 
 greater than the second. | 
| <T> CriteriaBuilder.In<T> | in(Expression<? extends T> expression)Create predicate to test whether given expression
  is contained in a list of values. | 
| <C extends java.util.Collection<?>> | isEmpty(Expression<C> collection)Create a predicate that tests whether a collection is empty. | 
| Predicate | isFalse(Expression<java.lang.Boolean> x)Create a predicate testing for a false value. | 
| <E,C extends java.util.Collection<E>> | isMember(E elem,
        Expression<C> collection)Create a predicate that tests whether an element is
  a member of a collection. | 
| <E,C extends java.util.Collection<E>> | isMember(Expression<E> elem,
        Expression<C> collection)Create a predicate that tests whether an element is
  a member of a collection. | 
| <C extends java.util.Collection<?>> | isNotEmpty(Expression<C> collection)Create a predicate that tests whether a collection is
  not empty. | 
| <E,C extends java.util.Collection<E>> | isNotMember(E elem,
           Expression<C> collection)Create a predicate that tests whether an element is
  not a member of a collection. | 
| <E,C extends java.util.Collection<E>> | isNotMember(Expression<E> elem,
           Expression<C> collection)Create a predicate that tests whether an element is
  not a member of a collection. | 
| Predicate | isNotNull(Expression<?> x)Create a predicate to test whether the expression is not null. | 
| Predicate | isNull(Expression<?> x)Create a predicate to test whether the expression is null. | 
| Predicate | isTrue(Expression<java.lang.Boolean> x)Create a predicate testing for a true value. | 
| <K,M extends java.util.Map<K,?>> | keys(M map)Create an expression that returns the keys of a map. | 
| Predicate | le(Expression<? extends java.lang.Number> x,
  Expression<? extends java.lang.Number> y)Create a predicate for testing whether the first argument is 
 less than or equal to the second. | 
| Predicate | le(Expression<? extends java.lang.Number> x,
  java.lang.Number y)Create a predicate for testing whether the first argument is 
 less than or equal to the second. | 
| <X extends java.lang.Comparable<? super X>> | least(Expression<X> x)Create an aggregate expression for finding the least of
 the values (strings, dates, etc). | 
| Expression<java.lang.Integer> | length(Expression<java.lang.String> x)Create expression to return length of a string. | 
| <Y extends java.lang.Comparable<? super Y>> | lessThan(Expression<? extends Y> x,
        Expression<? extends Y> y)Create a predicate for testing whether the first argument is 
 less than the second. | 
| <Y extends java.lang.Comparable<? super Y>> | lessThan(Expression<? extends Y> x,
        Y y)Create a predicate for testing whether the first argument is 
 less than the second. | 
| <Y extends java.lang.Comparable<? super Y>> | lessThanOrEqualTo(Expression<? extends Y> x,
                 Expression<? extends Y> y)Create a predicate for testing whether the first argument is 
 less than or equal to the second. | 
| <Y extends java.lang.Comparable<? super Y>> | lessThanOrEqualTo(Expression<? extends Y> x,
                 Y y)Create a predicate for testing whether the first argument is 
 less than or equal to the second. | 
| Predicate | like(Expression<java.lang.String> x,
    Expression<java.lang.String> pattern)Create a predicate for testing whether the expression
 satisfies the given pattern. | 
| Predicate | like(Expression<java.lang.String> x,
    Expression<java.lang.String> pattern,
    char escapeChar)Create a predicate for testing whether the expression
 satisfies the given pattern. | 
| Predicate | like(Expression<java.lang.String> x,
    Expression<java.lang.String> pattern,
    Expression<java.lang.Character> escapeChar)Create a predicate for testing whether the expression
 satisfies the given pattern. | 
| Predicate | like(Expression<java.lang.String> x,
    java.lang.String pattern)Create a predicate for testing whether the expression
 satisfies the given pattern. | 
| Predicate | like(Expression<java.lang.String> x,
    java.lang.String pattern,
    char escapeChar)Create a predicate for testing whether the expression
 satisfies the given pattern. | 
| Predicate | like(Expression<java.lang.String> x,
    java.lang.String pattern,
    Expression<java.lang.Character> escapeChar)Create a predicate for testing whether the expression
 satisfies the given pattern. | 
| <T> Expression<T> | literal(T value)Create an expression for a literal. | 
| Expression<java.lang.Double> | ln(Expression<? extends java.lang.Number> x)Create an expression that returns the natural logarithm
 of its argument. | 
| Expression<java.time.LocalDate> | localDate()Create expression to return current local date. | 
| Expression<java.time.LocalDateTime> | localDateTime()Create expression to return current local datetime. | 
| Expression<java.time.LocalTime> | localTime()Create expression to return current local time. | 
| Expression<java.lang.Integer> | locate(Expression<java.lang.String> x,
      Expression<java.lang.String> pattern)Create expression to locate the position of one string
 within another, returning position of first character
 if found. | 
| Expression<java.lang.Integer> | locate(Expression<java.lang.String> x,
      Expression<java.lang.String> pattern,
      Expression<java.lang.Integer> from)Create expression to locate the position of one string
 within another, returning position of first character
 if found. | 
| Expression<java.lang.Integer> | locate(Expression<java.lang.String> x,
      java.lang.String pattern)Create expression to locate the position of one string
 within another, returning position of first character
 if found. | 
| Expression<java.lang.Integer> | locate(Expression<java.lang.String> x,
      java.lang.String pattern,
      int from)Create expression to locate the position of one string
 within another, returning position of first character
 if found. | 
| Expression<java.lang.String> | lower(Expression<java.lang.String> x)Create expression for converting a string to lowercase. | 
| Predicate | lt(Expression<? extends java.lang.Number> x,
  Expression<? extends java.lang.Number> y)Create a predicate for testing whether the first argument is 
 less than the second. | 
| Predicate | lt(Expression<? extends java.lang.Number> x,
  java.lang.Number y)Create a predicate for testing whether the first argument is 
 less than the second. | 
| <N extends java.lang.Number> | max(Expression<N> x)Create an aggregate expression applying the numerical max 
 operation. | 
| <N extends java.lang.Number> | min(Expression<N> x)Create an aggregate expression applying the numerical min 
 operation. | 
| Expression<java.lang.Integer> | mod(Expression<java.lang.Integer> x,
   Expression<java.lang.Integer> y)Create an expression that returns the modulus
 (remainder under integer division) of its
 arguments. | 
| Expression<java.lang.Integer> | mod(Expression<java.lang.Integer> x,
   java.lang.Integer y)Create an expression that returns the modulus
 (remainder under integer division) of its
 arguments. | 
| Expression<java.lang.Integer> | mod(java.lang.Integer x,
   Expression<java.lang.Integer> y)Create an expression that returns the modulus
 (remainder under integer division) of its
 arguments. | 
| <N extends java.lang.Number> | neg(Expression<N> x)Create an expression that returns the arithmetic negation
 of its argument. | 
| Predicate | not(Expression<java.lang.Boolean> restriction)Create a negation of the given restriction. | 
| Predicate | notEqual(Expression<?> x,
        Expression<?> y)Create a predicate for testing the arguments for inequality. | 
| Predicate | notEqual(Expression<?> x,
        java.lang.Object y)Create a predicate for testing the arguments for inequality. | 
| Predicate | notLike(Expression<java.lang.String> x,
       Expression<java.lang.String> pattern)Create a predicate for testing whether the expression
 does not satisfy the given pattern. | 
| Predicate | notLike(Expression<java.lang.String> x,
       Expression<java.lang.String> pattern,
       char escapeChar)Create a predicate for testing whether the expression
 does not satisfy the given pattern. | 
| Predicate | notLike(Expression<java.lang.String> x,
       Expression<java.lang.String> pattern,
       Expression<java.lang.Character> escapeChar)Create a predicate for testing whether the expression
 does not satisfy the given pattern. | 
| Predicate | notLike(Expression<java.lang.String> x,
       java.lang.String pattern)Create a predicate for testing whether the expression
 does not satisfy the given pattern. | 
| Predicate | notLike(Expression<java.lang.String> x,
       java.lang.String pattern,
       char escapeChar)Create a predicate for testing whether the expression
 does not satisfy the given pattern. | 
| Predicate | notLike(Expression<java.lang.String> x,
       java.lang.String pattern,
       Expression<java.lang.Character> escapeChar)Create a predicate for testing whether the expression
 does not satisfy the given pattern. | 
| <Y> Expression<Y> | nullif(Expression<Y> x,
      Expression<?> y)Create an expression that tests whether its argument are
 equal, returning null if they are and the value of the
 first expression if they are not. | 
| <Y> Expression<Y> | nullif(Expression<Y> x,
      Y y)Create an expression that tests whether its argument are
 equal, returning null if they are and the value of the
 first expression if they are not. | 
| <T> Expression<T> | nullLiteral(java.lang.Class<T> resultClass)Create an expression for a null literal with the given type. | 
| Predicate | or(Expression<java.lang.Boolean> x,
  Expression<java.lang.Boolean> y)Create a disjunction of the given boolean expressions. | 
| Predicate | or(Predicate... restrictions)Create a disjunction of the given restriction predicates. | 
| <T> ParameterExpression<T> | parameter(java.lang.Class<T> paramClass)Create a parameter expression. | 
| <T> ParameterExpression<T> | parameter(java.lang.Class<T> paramClass,
         java.lang.String name)Create a parameter expression with the given name. | 
| Expression<java.lang.Double> | power(Expression<? extends java.lang.Number> x,
     Expression<? extends java.lang.Number> y)Create an expression that returns the first argument
 raised to the power of its second argument. | 
| Expression<java.lang.Double> | power(Expression<? extends java.lang.Number> x,
     java.lang.Number y)Create an expression that returns the first argument
 raised to the power of its second argument. | 
| <N extends java.lang.Number> | prod(Expression<? extends N> x,
    Expression<? extends N> y)Create an expression that returns the product
 of its arguments. | 
| <N extends java.lang.Number> | prod(Expression<? extends N> x,
    N y)Create an expression that returns the product
 of its arguments. | 
| <N extends java.lang.Number> | prod(N x,
    Expression<? extends N> y)Create an expression that returns the product
 of its arguments. | 
| Expression<java.lang.Number> | quot(Expression<? extends java.lang.Number> x,
    Expression<? extends java.lang.Number> y)Create an expression that returns the quotient
 of its arguments. | 
| Expression<java.lang.Number> | quot(Expression<? extends java.lang.Number> x,
    java.lang.Number y)Create an expression that returns the quotient
 of its arguments. | 
| Expression<java.lang.Number> | quot(java.lang.Number x,
    Expression<? extends java.lang.Number> y)Create an expression that returns the quotient
 of its arguments. | 
| <T extends java.lang.Number> | round(Expression<T> x,
     java.lang.Integer n)Create an expression that returns the first argument
 rounded to the number of decimal places given by the
 second argument. | 
| <R> CriteriaBuilder.Case<R> | selectCase()Create a general case expression. | 
| <C,R> CriteriaBuilder.SimpleCase<C,R> | selectCase(Expression<? extends C> expression)Create a simple case expression. | 
| Expression<java.lang.Integer> | sign(Expression<? extends java.lang.Number> x)Create an expression that returns the sign of its
 argument, that is,  1if its argument is
 positive,-1if its argument is negative,
 or0if its argument is exactly zero. | 
| <C extends java.util.Collection<?>> | size(C collection)Create an expression that tests the size of a collection. | 
| <C extends java.util.Collection<?>> | size(Expression<C> collection)Create an expression that tests the size of a collection. | 
| <Y> Expression<Y> | some(Subquery<Y> subquery)Create a some expression over the subquery results. | 
| Expression<java.lang.Double> | sqrt(Expression<? extends java.lang.Number> x)Create an expression that returns the square root
 of its argument. | 
| Expression<java.lang.String> | substring(Expression<java.lang.String> x,
         Expression<java.lang.Integer> from)Create an expression for substring extraction. | 
| Expression<java.lang.String> | substring(Expression<java.lang.String> x,
         Expression<java.lang.Integer> from,
         Expression<java.lang.Integer> len)Create an expression for substring extraction. | 
| Expression<java.lang.String> | substring(Expression<java.lang.String> x,
         int from)Create an expression for substring extraction. | 
| Expression<java.lang.String> | substring(Expression<java.lang.String> x,
         int from,
         int len)Create an expression for substring extraction. | 
| <N extends java.lang.Number> | sum(Expression<? extends N> x,
   Expression<? extends N> y)Create an expression that returns the sum
 of its arguments. | 
| <N extends java.lang.Number> | sum(Expression<? extends N> x,
   N y)Create an expression that returns the sum
 of its arguments. | 
| <N extends java.lang.Number> | sum(Expression<N> x)Create an aggregate expression applying the sum operation. | 
| <N extends java.lang.Number> | sum(N x,
   Expression<? extends N> y)Create an expression that returns the sum
 of its arguments. | 
| Expression<java.lang.Double> | sumAsDouble(Expression<java.lang.Float> x)Create an aggregate expression applying the sum operation to a
 Float-valued expression, returning a Double result. | 
| Expression<java.lang.Long> | sumAsLong(Expression<java.lang.Integer> x)Create an aggregate expression applying the sum operation to an
 Integer-valued expression, returning a Long result. | 
| Expression<java.math.BigDecimal> | toBigDecimal(Expression<? extends java.lang.Number> number)Typecast. | 
| Expression<java.math.BigInteger> | toBigInteger(Expression<? extends java.lang.Number> number)Typecast. | 
| Expression<java.lang.Double> | toDouble(Expression<? extends java.lang.Number> number)Typecast. | 
| Expression<java.lang.Float> | toFloat(Expression<? extends java.lang.Number> number)Typecast. | 
| Expression<java.lang.Integer> | toInteger(Expression<? extends java.lang.Number> number)Typecast. | 
| Expression<java.lang.Long> | toLong(Expression<? extends java.lang.Number> number)Typecast. | 
| Expression<java.lang.String> | toString(Expression<java.lang.Character> character)Typecast. | 
| <X,T,E extends T> | treat(CollectionJoin<X,T> join,
     java.lang.Class<E> type)Downcast CollectionJoin object to the specified type. | 
| <X,T,V extends T> | treat(Join<X,T> join,
     java.lang.Class<V> type)Downcast Join object to the specified type. | 
| <X,T,E extends T> | treat(ListJoin<X,T> join,
     java.lang.Class<E> type)Downcast ListJoin object to the specified type. | 
| <X,K,T,V extends T> | treat(MapJoin<X,K,T> join,
     java.lang.Class<V> type)Downcast MapJoin object to the specified type. | 
| <X,T extends X> | treat(Path<X> path,
     java.lang.Class<T> type)Downcast Path object to the specified type. | 
| <X,T extends X> | treat(Root<X> root,
     java.lang.Class<T> type)Downcast Root object to the specified type. | 
| <X,T,E extends T> | treat(SetJoin<X,T> join,
     java.lang.Class<E> type)Downcast SetJoin object to the specified type. | 
| Expression<java.lang.String> | trim(char t,
    Expression<java.lang.String> x)Create expression to trim character from both ends of
 a string. | 
| Expression<java.lang.String> | trim(CriteriaBuilder.Trimspec ts,
    char t,
    Expression<java.lang.String> x)Create expression to trim character from a string. | 
| Expression<java.lang.String> | trim(CriteriaBuilder.Trimspec ts,
    Expression<java.lang.Character> t,
    Expression<java.lang.String> x)Create expression to trim character from a string. | 
| Expression<java.lang.String> | trim(CriteriaBuilder.Trimspec ts,
    Expression<java.lang.String> x)Create expression to trim blanks from a string. | 
| Expression<java.lang.String> | trim(Expression<java.lang.Character> t,
    Expression<java.lang.String> x)Create expression to trim character from both ends of
 a string. | 
| Expression<java.lang.String> | trim(Expression<java.lang.String> x)Create expression to trim blanks from both ends of
 a string. | 
| CompoundSelection<Tuple> | tuple(Selection<?>... selections)Create a tuple-valued selection item. | 
| Expression<java.lang.String> | upper(Expression<java.lang.String> x)Create expression for converting a string to uppercase. | 
| <V,M extends java.util.Map<?,V>> | values(M map)Create an expression that returns the values of a map. | 
CriteriaQuery<java.lang.Object> createQuery()
CriteriaQuery object.<T> CriteriaQuery<T> createQuery(java.lang.Class<T> resultClass)
CriteriaQuery object with the specified result 
  type.resultClass - type of the query resultCriteriaQuery<Tuple> createTupleQuery()
CriteriaQuery object that returns a tuple of 
  objects as its result.<T> CriteriaUpdate<T> createCriteriaUpdate(java.lang.Class<T> targetEntity)
CriteriaUpdate query object to perform a bulk update operation.targetEntity - target type for update operation<T> CriteriaDelete<T> createCriteriaDelete(java.lang.Class<T> targetEntity)
CriteriaDelete query object to perform a bulk delete operation.targetEntity - target type for delete operation<Y> CompoundSelection<Y> construct(java.lang.Class<Y> resultClass, Selection<?>... selections)
resultClass - class whose instance is to be constructedselections - arguments to the constructorjava.lang.IllegalArgumentException - if an argument is a 
         tuple- or array-valued selection itemCompoundSelection<Tuple> tuple(Selection<?>... selections)
selections - selection itemsjava.lang.IllegalArgumentException - if an argument is a 
         tuple- or array-valued selection itemCompoundSelection<java.lang.Object[]> array(Selection<?>... selections)
selections - selection itemsjava.lang.IllegalArgumentException - if an argument is a 
         tuple- or array-valued selection itemOrder asc(Expression<?> x)
x - expression used to define the orderingOrder desc(Expression<?> x)
x - expression used to define the ordering<N extends java.lang.Number> Expression<java.lang.Double> avg(Expression<N> x)
x - expression representing input value to avg operation<N extends java.lang.Number> Expression<N> sum(Expression<N> x)
x - expression representing input value to sum operationExpression<java.lang.Long> sumAsLong(Expression<java.lang.Integer> x)
x - expression representing input value to sum operationExpression<java.lang.Double> sumAsDouble(Expression<java.lang.Float> x)
x - expression representing input value to sum operation<N extends java.lang.Number> Expression<N> max(Expression<N> x)
x - expression representing input value to max operation<N extends java.lang.Number> Expression<N> min(Expression<N> x)
x - expression representing input value to min operation<X extends java.lang.Comparable<? super X>> Expression<X> greatest(Expression<X> x)
x - expression representing input value to greatest
           operation<X extends java.lang.Comparable<? super X>> Expression<X> least(Expression<X> x)
x - expression representing input value to least
           operationExpression<java.lang.Long> count(Expression<?> x)
x - expression representing input value to count 
           operationExpression<java.lang.Long> countDistinct(Expression<?> x)
x - expression representing input value to 
        count distinct operationPredicate exists(Subquery<?> subquery)
subquery - subquery whose result is to be tested<Y> Expression<Y> all(Subquery<Y> subquery)
subquery - subquery<Y> Expression<Y> some(Subquery<Y> subquery)
any expression.subquery - subquery<Y> Expression<Y> any(Subquery<Y> subquery)
some expression.subquery - subqueryPredicate and(Expression<java.lang.Boolean> x, Expression<java.lang.Boolean> y)
x - boolean expressiony - boolean expressionPredicate and(Predicate... restrictions)
restrictions - zero or more restriction predicatesPredicate or(Expression<java.lang.Boolean> x, Expression<java.lang.Boolean> y)
x - boolean expressiony - boolean expressionPredicate or(Predicate... restrictions)
restrictions - zero or more restriction predicatesPredicate not(Expression<java.lang.Boolean> restriction)
restriction - restriction expressionPredicate conjunction()
Predicate disjunction()
Predicate isTrue(Expression<java.lang.Boolean> x)
x - expression to be testedPredicate isFalse(Expression<java.lang.Boolean> x)
x - expression to be testedPredicate isNull(Expression<?> x)
x - expressionPredicate isNotNull(Expression<?> x)
x - expressionPredicate equal(Expression<?> x, Expression<?> y)
x - expressiony - expressionPredicate equal(Expression<?> x, java.lang.Object y)
x - expressiony - objectPredicate notEqual(Expression<?> x, Expression<?> y)
x - expressiony - expressionPredicate notEqual(Expression<?> x, java.lang.Object y)
x - expressiony - object<Y extends java.lang.Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x, Expression<? extends Y> y)
x - expressiony - expression<Y extends java.lang.Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x, Y y)
x - expressiony - value<Y extends java.lang.Comparable<? super Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y)
x - expressiony - expression<Y extends java.lang.Comparable<? super Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Y y)
x - expressiony - value<Y extends java.lang.Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x, Expression<? extends Y> y)
x - expressiony - expression<Y extends java.lang.Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x, Y y)
x - expressiony - value<Y extends java.lang.Comparable<? super Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y)
x - expressiony - expression<Y extends java.lang.Comparable<? super Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Y y)
x - expressiony - value<Y extends java.lang.Comparable<? super Y>> Predicate between(Expression<? extends Y> v, Expression<? extends Y> x, Expression<? extends Y> y)
v - expressionx - expressiony - expression<Y extends java.lang.Comparable<? super Y>> Predicate between(Expression<? extends Y> v, Y x, Y y)
v - expressionx - valuey - valuePredicate gt(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
x - expressiony - expressionPredicate gt(Expression<? extends java.lang.Number> x, java.lang.Number y)
x - expressiony - valuePredicate ge(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
x - expressiony - expressionPredicate ge(Expression<? extends java.lang.Number> x, java.lang.Number y)
x - expressiony - valuePredicate lt(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
x - expressiony - expressionPredicate lt(Expression<? extends java.lang.Number> x, java.lang.Number y)
x - expressiony - valuePredicate le(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
x - expressiony - expressionPredicate le(Expression<? extends java.lang.Number> x, java.lang.Number y)
x - expressiony - valueExpression<java.lang.Integer> sign(Expression<? extends java.lang.Number> x)
1 if its argument is
 positive, -1 if its argument is negative,
 or 0 if its argument is exactly zero.x - expression<N extends java.lang.Number> Expression<N> neg(Expression<N> x)
x - expression<N extends java.lang.Number> Expression<N> abs(Expression<N> x)
x - expression<N extends java.lang.Number> Expression<N> ceiling(Expression<N> x)
x - expression<N extends java.lang.Number> Expression<N> floor(Expression<N> x)
x - expression<N extends java.lang.Number> Expression<N> sum(Expression<? extends N> x, Expression<? extends N> y)
x - expressiony - expression<N extends java.lang.Number> Expression<N> sum(Expression<? extends N> x, N y)
x - expressiony - value<N extends java.lang.Number> Expression<N> sum(N x, Expression<? extends N> y)
x - valuey - expression<N extends java.lang.Number> Expression<N> prod(Expression<? extends N> x, Expression<? extends N> y)
x - expressiony - expression<N extends java.lang.Number> Expression<N> prod(Expression<? extends N> x, N y)
x - expressiony - value<N extends java.lang.Number> Expression<N> prod(N x, Expression<? extends N> y)
x - valuey - expression<N extends java.lang.Number> Expression<N> diff(Expression<? extends N> x, Expression<? extends N> y)
x - expressiony - expression<N extends java.lang.Number> Expression<N> diff(Expression<? extends N> x, N y)
x - expressiony - value<N extends java.lang.Number> Expression<N> diff(N x, Expression<? extends N> y)
x - valuey - expressionExpression<java.lang.Number> quot(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
x - expressiony - expressionExpression<java.lang.Number> quot(Expression<? extends java.lang.Number> x, java.lang.Number y)
x - expressiony - valueExpression<java.lang.Number> quot(java.lang.Number x, Expression<? extends java.lang.Number> y)
x - valuey - expressionExpression<java.lang.Integer> mod(Expression<java.lang.Integer> x, Expression<java.lang.Integer> y)
x - expressiony - expressionExpression<java.lang.Integer> mod(Expression<java.lang.Integer> x, java.lang.Integer y)
x - expressiony - valueExpression<java.lang.Integer> mod(java.lang.Integer x, Expression<java.lang.Integer> y)
x - valuey - expressionExpression<java.lang.Double> sqrt(Expression<? extends java.lang.Number> x)
x - expressionExpression<java.lang.Double> exp(Expression<? extends java.lang.Number> x)
x - expressionExpression<java.lang.Double> ln(Expression<? extends java.lang.Number> x)
x - expressionExpression<java.lang.Double> power(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
x - basey - exponentExpression<java.lang.Double> power(Expression<? extends java.lang.Number> x, java.lang.Number y)
x - basey - exponent<T extends java.lang.Number> Expression<T> round(Expression<T> x, java.lang.Integer n)
x - basen - number of decimal placesExpression<java.lang.Long> toLong(Expression<? extends java.lang.Number> number)
number - numeric expressionExpression<java.lang.Integer> toInteger(Expression<? extends java.lang.Number> number)
number - numeric expressionExpression<java.lang.Float> toFloat(Expression<? extends java.lang.Number> number)
number - numeric expressionExpression<java.lang.Double> toDouble(Expression<? extends java.lang.Number> number)
number - numeric expressionExpression<java.math.BigDecimal> toBigDecimal(Expression<? extends java.lang.Number> number)
number - numeric expressionExpression<java.math.BigInteger> toBigInteger(Expression<? extends java.lang.Number> number)
number - numeric expressionExpression<java.lang.String> toString(Expression<java.lang.Character> character)
character - expression<T> Expression<T> literal(T value)
value - value represented by the expressionjava.lang.IllegalArgumentException - if value is null<T> Expression<T> nullLiteral(java.lang.Class<T> resultClass)
resultClass - type of the null literal<T> ParameterExpression<T> parameter(java.lang.Class<T> paramClass)
paramClass - parameter class<T> ParameterExpression<T> parameter(java.lang.Class<T> paramClass, java.lang.String name)
paramClass - parameter classname - name that can be used to refer to 
              the parameter<C extends java.util.Collection<?>> Predicate isEmpty(Expression<C> collection)
collection - expression<C extends java.util.Collection<?>> Predicate isNotEmpty(Expression<C> collection)
collection - expression<C extends java.util.Collection<?>> Expression<java.lang.Integer> size(Expression<C> collection)
collection - expression<C extends java.util.Collection<?>> Expression<java.lang.Integer> size(C collection)
collection - collection<E,C extends java.util.Collection<E>> Predicate isMember(Expression<E> elem, Expression<C> collection)
elem - element expressioncollection - expression<E,C extends java.util.Collection<E>> Predicate isMember(E elem, Expression<C> collection)
elem - elementcollection - expression<E,C extends java.util.Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection)
elem - element expressioncollection - expression<E,C extends java.util.Collection<E>> Predicate isNotMember(E elem, Expression<C> collection)
elem - elementcollection - expression<V,M extends java.util.Map<?,V>> Expression<java.util.Collection<V>> values(M map)
map - map<K,M extends java.util.Map<K,?>> Expression<java.util.Set<K>> keys(M map)
map - mapPredicate like(Expression<java.lang.String> x, Expression<java.lang.String> pattern)
x - string expressionpattern - string expressionPredicate like(Expression<java.lang.String> x, java.lang.String pattern)
x - string expressionpattern - stringPredicate like(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Character> escapeChar)
x - string expressionpattern - string expressionescapeChar - escape character expressionPredicate like(Expression<java.lang.String> x, Expression<java.lang.String> pattern, char escapeChar)
x - string expressionpattern - string expressionescapeChar - escape characterPredicate like(Expression<java.lang.String> x, java.lang.String pattern, Expression<java.lang.Character> escapeChar)
x - string expressionpattern - stringescapeChar - escape character expressionPredicate like(Expression<java.lang.String> x, java.lang.String pattern, char escapeChar)
x - string expressionpattern - stringescapeChar - escape characterPredicate notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern)
x - string expressionpattern - string expressionPredicate notLike(Expression<java.lang.String> x, java.lang.String pattern)
x - string expressionpattern - stringPredicate notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Character> escapeChar)
x - string expressionpattern - string expressionescapeChar - escape character expressionPredicate notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern, char escapeChar)
x - string expressionpattern - string expressionescapeChar - escape characterPredicate notLike(Expression<java.lang.String> x, java.lang.String pattern, Expression<java.lang.Character> escapeChar)
x - string expressionpattern - stringescapeChar - escape character expressionPredicate notLike(Expression<java.lang.String> x, java.lang.String pattern, char escapeChar)
x - string expressionpattern - stringescapeChar - escape characterExpression<java.lang.String> concat(Expression<java.lang.String> x, Expression<java.lang.String> y)
x - string expressiony - string expressionExpression<java.lang.String> concat(Expression<java.lang.String> x, java.lang.String y)
x - string expressiony - stringExpression<java.lang.String> concat(java.lang.String x, Expression<java.lang.String> y)
x - stringy - string expressionExpression<java.lang.String> substring(Expression<java.lang.String> x, Expression<java.lang.Integer> from)
x - string expressionfrom - start position expressionExpression<java.lang.String> substring(Expression<java.lang.String> x, int from)
x - string expressionfrom - start positionExpression<java.lang.String> substring(Expression<java.lang.String> x, Expression<java.lang.Integer> from, Expression<java.lang.Integer> len)
x - string expressionfrom - start position expressionlen - length expressionExpression<java.lang.String> substring(Expression<java.lang.String> x, int from, int len)
x - string expressionfrom - start positionlen - lengthExpression<java.lang.String> trim(Expression<java.lang.String> x)
x - expression for string to trimExpression<java.lang.String> trim(CriteriaBuilder.Trimspec ts, Expression<java.lang.String> x)
ts - trim specificationx - expression for string to trimExpression<java.lang.String> trim(Expression<java.lang.Character> t, Expression<java.lang.String> x)
t - expression for character to be trimmedx - expression for string to trimExpression<java.lang.String> trim(CriteriaBuilder.Trimspec ts, Expression<java.lang.Character> t, Expression<java.lang.String> x)
ts - trim specificationt - expression for character to be trimmedx - expression for string to trimExpression<java.lang.String> trim(char t, Expression<java.lang.String> x)
t - character to be trimmedx - expression for string to trimExpression<java.lang.String> trim(CriteriaBuilder.Trimspec ts, char t, Expression<java.lang.String> x)
ts - trim specificationt - character to be trimmedx - expression for string to trimExpression<java.lang.String> lower(Expression<java.lang.String> x)
x - string expressionExpression<java.lang.String> upper(Expression<java.lang.String> x)
x - string expressionExpression<java.lang.Integer> length(Expression<java.lang.String> x)
x - string expressionExpression<java.lang.Integer> locate(Expression<java.lang.String> x, Expression<java.lang.String> pattern)
Warning: the order of the parameters of this method is reversed compared to the corresponding function in JPQL.
x - expression for string to be searchedpattern - expression for string to be locatedExpression<java.lang.Integer> locate(Expression<java.lang.String> x, java.lang.String pattern)
Warning: the order of the parameters of this method is reversed compared to the corresponding function in JPQL.
x - expression for string to be searchedpattern - string to be locatedExpression<java.lang.Integer> locate(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Integer> from)
Warning: the order of the first two parameters of this method is reversed compared to the corresponding function in JPQL.
x - expression for string to be searchedpattern - expression for string to be locatedfrom - expression for position at which to start searchExpression<java.lang.Integer> locate(Expression<java.lang.String> x, java.lang.String pattern, int from)
Warning: the order of the first two parameters of this method is reversed compared to the corresponding function in JPQL.
x - expression for string to be searchedpattern - string to be locatedfrom - position at which to start searchExpression<java.sql.Date> currentDate()
Expression<java.sql.Timestamp> currentTimestamp()
Expression<java.sql.Time> currentTime()
Expression<java.time.LocalDate> localDate()
Expression<java.time.LocalDateTime> localDateTime()
Expression<java.time.LocalTime> localTime()
<T> CriteriaBuilder.In<T> in(Expression<? extends T> expression)
expression - to be tested against list of values<Y> Expression<Y> coalesce(Expression<? extends Y> x, Expression<? extends Y> y)
x - expressiony - expression<Y> Expression<Y> coalesce(Expression<? extends Y> x, Y y)
x - expressiony - value<Y> Expression<Y> nullif(Expression<Y> x, Expression<?> y)
x - expressiony - expression<Y> Expression<Y> nullif(Expression<Y> x, Y y)
x - expressiony - value<T> CriteriaBuilder.Coalesce<T> coalesce()
<C,R> CriteriaBuilder.SimpleCase<C,R> selectCase(Expression<? extends C> expression)
expression - to be tested against the case conditions<R> CriteriaBuilder.Case<R> selectCase()
<T> Expression<T> function(java.lang.String name, java.lang.Class<T> type, Expression<?>... args)
name - function nametype - expected result typeargs - function arguments<X,T,V extends T> Join<X,V> treat(Join<X,T> join, java.lang.Class<V> type)
join - Join objecttype - type to be downcast to<X,T,E extends T> CollectionJoin<X,E> treat(CollectionJoin<X,T> join, java.lang.Class<E> type)
join - CollectionJoin objecttype - type to be downcast to<X,T,E extends T> SetJoin<X,E> treat(SetJoin<X,T> join, java.lang.Class<E> type)
join - SetJoin objecttype - type to be downcast to<X,T,E extends T> ListJoin<X,E> treat(ListJoin<X,T> join, java.lang.Class<E> type)
join - ListJoin objecttype - type to be downcast to<X,K,T,V extends T> MapJoin<X,K,V> treat(MapJoin<X,K,T> join, java.lang.Class<V> type)
join - MapJoin objecttype - type to be downcast to<X,T extends X> Path<T> treat(Path<X> path, java.lang.Class<T> type)
path - pathtype - type to be downcast to