Interface CriteriaBuilder


public interface CriteriaBuilder
Used to construct criteria queries, compound selections, expressions, predicates, orderings.

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.

Since:
2.0
  • Method Details Link icon

    • createQuery Link icon

      CriteriaQuery<Object> createQuery()
      Create a CriteriaQuery object.
      Returns:
      criteria query object
    • createQuery Link icon

      <T> CriteriaQuery<T> createQuery(Class<T> resultClass)
      Create a CriteriaQuery object with the given result type.
      Parameters:
      resultClass - type of the query result
      Returns:
      criteria query object
    • createTupleQuery Link icon

      CriteriaQuery<Tuple> createTupleQuery()
      Create a CriteriaQuery object that returns a tuple of objects as its result.
      Returns:
      criteria query object
    • createCriteriaUpdate Link icon

      <T> CriteriaUpdate<T> createCriteriaUpdate(Class<T> targetEntity)
      Create a CriteriaUpdate query object to perform a bulk update operation.
      Parameters:
      targetEntity - target type for update operation
      Returns:
      the query object
      Since:
      2.1
    • createCriteriaDelete Link icon

      <T> CriteriaDelete<T> createCriteriaDelete(Class<T> targetEntity)
      Create a CriteriaDelete query object to perform a bulk delete operation.
      Parameters:
      targetEntity - target type for delete operation
      Returns:
      the query object
      Since:
      2.1
    • construct Link icon

      <Y> CompoundSelection<Y> construct(Class<Y> resultClass, Selection<?>... selections)
      Create a selection item corresponding to a constructor. This method is used to specify a constructor that is applied to the results of the query execution. If the constructor is for an entity class, the resulting entities will be in the new state after the query is executed.
      Parameters:
      resultClass - class whose instance is to be constructed
      selections - arguments to the constructor
      Returns:
      compound selection item
      Throws:
      IllegalArgumentException - if an argument is a tuple- or array-valued selection item
    • tuple Link icon

      CompoundSelection<Tuple> tuple(Selection<?>... selections)
      Create a tuple-valued selection item.
      Parameters:
      selections - selection items
      Returns:
      tuple-valued compound selection
      Throws:
      IllegalArgumentException - if an argument is a tuple- or array-valued selection item
    • tuple Link icon

      CompoundSelection<Tuple> tuple(List<Selection<?>> selections)
      Create a tuple-valued selection item.
      Parameters:
      selections - list of selection items
      Returns:
      tuple-valued compound selection
      Throws:
      IllegalArgumentException - if an argument is a tuple- or array-valued selection item
      Since:
      3.2
    • array Link icon

      CompoundSelection<Object[]> array(Selection<?>... selections)
      Create an array-valued selection item.
      Parameters:
      selections - selection items
      Returns:
      array-valued compound selection
      Throws:
      IllegalArgumentException - if an argument is a tuple- or array-valued selection item
    • array Link icon

      CompoundSelection<Object[]> array(List<Selection<?>> selections)
      Create an array-valued selection item.
      Parameters:
      selections - list of selection items
      Returns:
      array-valued compound selection
      Throws:
      IllegalArgumentException - if an argument is a tuple- or array-valued selection item
      Since:
      3.2
    • asc Link icon

      Order asc(Expression<?> expression)
      Create an ordering by the ascending value of the expression.
      Parameters:
      expression - expression used to define the ordering
      Returns:
      ascending ordering corresponding to the expression
    • desc Link icon

      Order desc(Expression<?> expression)
      Create an ordering by the descending value of the expression.
      Parameters:
      expression - expression used to define the ordering
      Returns:
      descending ordering corresponding to the expression
    • asc Link icon

      Order asc(Expression<?> expression, Nulls nullPrecedence)
      Create an ordering by the ascending value of the expression.
      Parameters:
      expression - expression used to define the ordering
      nullPrecedence - the precedence of null values
      Returns:
      ascending ordering corresponding to the expression
      Since:
      3.2
    • desc Link icon

      Order desc(Expression<?> expression, Nulls nullPrecedence)
      Create an ordering by the descending value of the expression.
      Parameters:
      expression - expression used to define the ordering
      nullPrecedence - the precedence of null values
      Returns:
      descending ordering corresponding to the expression
      Since:
      3.2
    • avg Link icon

      <N extends Number> Expression<Double> avg(Expression<N> x)
      Create an aggregate expression applying the avg operation.
      Parameters:
      x - expression representing input value to avg operation
      Returns:
      avg expression
    • sum Link icon

      <N extends Number> Expression<N> sum(Expression<N> x)
      Create an aggregate expression applying the sum operation.
      Parameters:
      x - expression representing input value to sum operation
      Returns:
      sum expression
    • sumAsLong Link icon

      Create an aggregate expression applying the sum operation to an Integer-valued expression, returning a Long result.
      Parameters:
      x - expression representing input value to sum operation
      Returns:
      sum expression
    • sumAsDouble Link icon

      Expression<Double> sumAsDouble(Expression<Float> x)
      Create an aggregate expression applying the sum operation to a Float-valued expression, returning a Double result.
      Parameters:
      x - expression representing input value to sum operation
      Returns:
      sum expression
    • max Link icon

      <N extends Number> Expression<N> max(Expression<N> x)
      Create an aggregate expression applying the numerical max operation.
      Parameters:
      x - expression representing input value to max operation
      Returns:
      max expression
    • min Link icon

      <N extends Number> Expression<N> min(Expression<N> x)
      Create an aggregate expression applying the numerical min operation.
      Parameters:
      x - expression representing input value to min operation
      Returns:
      min expression
    • greatest Link icon

      <X extends Comparable<? super X>> Expression<X> greatest(Expression<X> x)
      Create an aggregate expression for finding the greatest of the values (strings, dates, etc).
      Parameters:
      x - expression representing input value to greatest operation
      Returns:
      greatest expression
    • least Link icon

      <X extends Comparable<? super X>> Expression<X> least(Expression<X> x)
      Create an aggregate expression for finding the least of the values (strings, dates, etc).
      Parameters:
      x - expression representing input value to least operation
      Returns:
      least expression
    • count Link icon

      Expression<Long> count(Expression<?> x)
      Create an aggregate expression applying the count operation.
      Parameters:
      x - expression representing input value to count operation
      Returns:
      count expression
    • countDistinct Link icon

      Expression<Long> countDistinct(Expression<?> x)
      Create an aggregate expression applying the count distinct operation.
      Parameters:
      x - expression representing input value to count distinct operation
      Returns:
      count distinct expression
    • exists Link icon

      Predicate exists(Subquery<?> subquery)
      Create a predicate testing the existence of a subquery result.
      Parameters:
      subquery - subquery whose result is to be tested
      Returns:
      exists predicate
    • all Link icon

      <Y> Expression<Y> all(Subquery<Y> subquery)
      Create an all expression over the subquery results.
      Parameters:
      subquery - subquery
      Returns:
      all expression
    • some Link icon

      <Y> Expression<Y> some(Subquery<Y> subquery)
      Create a some expression over the subquery results. This expression is equivalent to an any expression.
      Parameters:
      subquery - subquery
      Returns:
      some expression
    • any Link icon

      <Y> Expression<Y> any(Subquery<Y> subquery)
      Create an any expression over the subquery results. This expression is equivalent to a some expression.
      Parameters:
      subquery - subquery
      Returns:
      any expression
    • and Link icon

      Create a conjunction of the given boolean expressions.
      Parameters:
      x - boolean expression
      y - boolean expression
      Returns:
      and predicate
    • and Link icon

      Predicate and(Predicate... restrictions)
      Create a conjunction of the given restriction predicates. A conjunction of zero predicates is true.
      Parameters:
      restrictions - zero or more restriction predicates
      Returns:
      and predicate
    • and Link icon

      Predicate and(List<Predicate> restrictions)
      Create a conjunction of the given restriction predicates. A conjunction of zero predicates is true.
      Parameters:
      restrictions - a list of zero or more restriction predicates
      Returns:
      and predicate
      Since:
      3.2
    • or Link icon

      Create a disjunction of the given boolean expressions.
      Parameters:
      x - boolean expression
      y - boolean expression
      Returns:
      or predicate
    • or Link icon

      Predicate or(Predicate... restrictions)
      Create a disjunction of the given restriction predicates. A disjunction of zero predicates is false.
      Parameters:
      restrictions - zero or more restriction predicates
      Returns:
      or predicate
    • or Link icon

      Predicate or(List<Predicate> restrictions)
      Create a disjunction of the given restriction predicates. A disjunction of zero predicates is false.
      Parameters:
      restrictions - a list of zero or more restriction predicates
      Returns:
      or predicate
      Since:
      3.2
    • not Link icon

      Predicate not(Expression<Boolean> restriction)
      Create a negation of the given restriction.
      Parameters:
      restriction - restriction expression
      Returns:
      not predicate
    • conjunction Link icon

      Predicate conjunction()
      Create a conjunction (with zero conjuncts). A conjunction with zero conjuncts is true.
      Returns:
      and predicate
    • disjunction Link icon

      Predicate disjunction()
      Create a disjunction (with zero disjuncts). A disjunction with zero disjuncts is false.
      Returns:
      or predicate
    • isTrue Link icon

      Create a predicate testing for a true value.
      Parameters:
      x - expression to be tested
      Returns:
      predicate
    • isFalse Link icon

      Create a predicate testing for a false value.
      Parameters:
      x - expression to be tested
      Returns:
      predicate
    • isNull Link icon

      Predicate isNull(Expression<?> x)
      Create a predicate to test whether the expression is null.
      Parameters:
      x - expression
      Returns:
      is-null predicate
    • isNotNull Link icon

      Predicate isNotNull(Expression<?> x)
      Create a predicate to test whether the expression is not null.
      Parameters:
      x - expression
      Returns:
      is-not-null predicate
    • equal Link icon

      Predicate equal(Expression<?> x, Expression<?> y)
      Create a predicate for testing the arguments for equality.
      Parameters:
      x - expression
      y - expression
      Returns:
      equality predicate
    • equal Link icon

      Predicate equal(Expression<?> x, Object y)
      Create a predicate for testing the arguments for equality.
      Parameters:
      x - expression
      y - object
      Returns:
      equality predicate
    • notEqual Link icon

      Predicate notEqual(Expression<?> x, Expression<?> y)
      Create a predicate for testing the arguments for inequality.
      Parameters:
      x - expression
      y - expression
      Returns:
      inequality predicate
    • notEqual Link icon

      Predicate notEqual(Expression<?> x, Object y)
      Create a predicate for testing the arguments for inequality.
      Parameters:
      x - expression
      y - object
      Returns:
      inequality predicate
    • greaterThan Link icon

      <Y extends Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x, Expression<? extends Y> y)
      Create a predicate for testing whether the first argument is greater than the second.
      Parameters:
      x - expression
      y - expression
      Returns:
      greater-than predicate
    • greaterThan Link icon

      <Y extends Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x, Y y)
      Create a predicate for testing whether the first argument is greater than the second.
      Parameters:
      x - expression
      y - value
      Returns:
      greater-than predicate
    • greaterThanOrEqualTo Link icon

      <Y extends Comparable<? super Y>> Predicate 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.
      Parameters:
      x - expression
      y - expression
      Returns:
      greater-than-or-equal predicate
    • greaterThanOrEqualTo Link icon

      <Y extends Comparable<? super Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Y y)
      Create a predicate for testing whether the first argument is greater than or equal to the second.
      Parameters:
      x - expression
      y - value
      Returns:
      greater-than-or-equal predicate
    • lessThan Link icon

      <Y extends Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x, Expression<? extends Y> y)
      Create a predicate for testing whether the first argument is less than the second.
      Parameters:
      x - expression
      y - expression
      Returns:
      less-than predicate
    • lessThan Link icon

      <Y extends Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x, Y y)
      Create a predicate for testing whether the first argument is less than the second.
      Parameters:
      x - expression
      y - value
      Returns:
      less-than predicate
    • lessThanOrEqualTo Link icon

      <Y extends Comparable<? super Y>> Predicate 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.
      Parameters:
      x - expression
      y - expression
      Returns:
      less-than-or-equal predicate
    • lessThanOrEqualTo Link icon

      <Y extends Comparable<? super Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Y y)
      Create a predicate for testing whether the first argument is less than or equal to the second.
      Parameters:
      x - expression
      y - value
      Returns:
      less-than-or-equal predicate
    • between Link icon

      <Y extends Comparable<? super Y>> Predicate 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.
      Parameters:
      v - expression
      x - expression
      y - expression
      Returns:
      between predicate
    • between Link icon

      <Y extends Comparable<? super Y>> Predicate 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.
      Parameters:
      v - expression
      x - value
      y - value
      Returns:
      between predicate
    • gt Link icon

      Predicate gt(Expression<? extends Number> x, Expression<? extends Number> y)
      Create a predicate for testing whether the first argument is greater than the second.
      Parameters:
      x - expression
      y - expression
      Returns:
      greater-than predicate
    • gt Link icon

      Predicate gt(Expression<? extends Number> x, Number y)
      Create a predicate for testing whether the first argument is greater than the second.
      Parameters:
      x - expression
      y - value
      Returns:
      greater-than predicate
    • ge Link icon

      Predicate ge(Expression<? extends Number> x, Expression<? extends Number> y)
      Create a predicate for testing whether the first argument is greater than or equal to the second.
      Parameters:
      x - expression
      y - expression
      Returns:
      greater-than-or-equal predicate
    • ge Link icon

      Predicate ge(Expression<? extends Number> x, Number y)
      Create a predicate for testing whether the first argument is greater than or equal to the second.
      Parameters:
      x - expression
      y - value
      Returns:
      greater-than-or-equal predicate
    • lt Link icon

      Predicate lt(Expression<? extends Number> x, Expression<? extends Number> y)
      Create a predicate for testing whether the first argument is less than the second.
      Parameters:
      x - expression
      y - expression
      Returns:
      less-than predicate
    • lt Link icon

      Predicate lt(Expression<? extends Number> x, Number y)
      Create a predicate for testing whether the first argument is less than the second.
      Parameters:
      x - expression
      y - value
      Returns:
      less-than predicate
    • le Link icon

      Predicate le(Expression<? extends Number> x, Expression<? extends Number> y)
      Create a predicate for testing whether the first argument is less than or equal to the second.
      Parameters:
      x - expression
      y - expression
      Returns:
      less-than-or-equal predicate
    • le Link icon

      Predicate le(Expression<? extends Number> x, Number y)
      Create a predicate for testing whether the first argument is less than or equal to the second.
      Parameters:
      x - expression
      y - value
      Returns:
      less-than-or-equal predicate
    • sign Link icon

      Expression<Integer> sign(Expression<? extends Number> x)
      Create an expression that returns the sign of its argument, that is, 1 if its argument is positive, -1 if its argument is negative, or 0 if its argument is exactly zero.
      Parameters:
      x - expression
      Returns:
      sign
    • neg Link icon

      <N extends Number> Expression<N> neg(Expression<N> x)
      Create an expression that returns the arithmetic negation of its argument.
      Parameters:
      x - expression
      Returns:
      arithmetic negation
    • abs Link icon

      <N extends Number> Expression<N> abs(Expression<N> x)
      Create an expression that returns the absolute value of its argument.
      Parameters:
      x - expression
      Returns:
      absolute value
    • ceiling Link icon

      <N extends Number> Expression<N> 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.
      Parameters:
      x - expression
      Returns:
      ceiling
    • floor Link icon

      <N extends Number> Expression<N> 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.
      Parameters:
      x - expression
      Returns:
      floor
    • sum Link icon

      <N extends Number> Expression<N> sum(Expression<? extends N> x, Expression<? extends N> y)
      Create an expression that returns the sum of its arguments.
      Parameters:
      x - expression
      y - expression
      Returns:
      sum
    • sum Link icon

      <N extends Number> Expression<N> sum(Expression<? extends N> x, N y)
      Create an expression that returns the sum of its arguments.
      Parameters:
      x - expression
      y - value
      Returns:
      sum
    • sum Link icon

      <N extends Number> Expression<N> sum(N x, Expression<? extends N> y)
      Create an expression that returns the sum of its arguments.
      Parameters:
      x - value
      y - expression
      Returns:
      sum
    • prod Link icon

      <N extends Number> Expression<N> prod(Expression<? extends N> x, Expression<? extends N> y)
      Create an expression that returns the product of its arguments.
      Parameters:
      x - expression
      y - expression
      Returns:
      product
    • prod Link icon

      <N extends Number> Expression<N> prod(Expression<? extends N> x, N y)
      Create an expression that returns the product of its arguments.
      Parameters:
      x - expression
      y - value
      Returns:
      product
    • prod Link icon

      <N extends Number> Expression<N> prod(N x, Expression<? extends N> y)
      Create an expression that returns the product of its arguments.
      Parameters:
      x - value
      y - expression
      Returns:
      product
    • diff Link icon

      <N extends Number> Expression<N> diff(Expression<? extends N> x, Expression<? extends N> y)
      Create an expression that returns the difference between its arguments.
      Parameters:
      x - expression
      y - expression
      Returns:
      difference
    • diff Link icon

      <N extends Number> Expression<N> diff(Expression<? extends N> x, N y)
      Create an expression that returns the difference between its arguments.
      Parameters:
      x - expression
      y - value
      Returns:
      difference
    • diff Link icon

      <N extends Number> Expression<N> diff(N x, Expression<? extends N> y)
      Create an expression that returns the difference between its arguments.
      Parameters:
      x - value
      y - expression
      Returns:
      difference
    • quot Link icon

      Expression<Number> quot(Expression<? extends Number> x, Expression<? extends Number> y)
      Create an expression that returns the quotient of its arguments.
      Parameters:
      x - expression
      y - expression
      Returns:
      quotient
    • quot Link icon

      Expression<Number> quot(Expression<? extends Number> x, Number y)
      Create an expression that returns the quotient of its arguments.
      Parameters:
      x - expression
      y - value
      Returns:
      quotient
    • quot Link icon

      Expression<Number> quot(Number x, Expression<? extends Number> y)
      Create an expression that returns the quotient of its arguments.
      Parameters:
      x - value
      y - expression
      Returns:
      quotient
    • mod Link icon

      Create an expression that returns the modulus (remainder under integer division) of its arguments.
      Parameters:
      x - expression
      y - expression
      Returns:
      modulus
    • mod Link icon

      Create an expression that returns the modulus (remainder under integer division) of its arguments.
      Parameters:
      x - expression
      y - value
      Returns:
      modulus
    • mod Link icon

      Create an expression that returns the modulus (remainder under integer division) of its arguments.
      Parameters:
      x - value
      y - expression
      Returns:
      modulus
    • sqrt Link icon

      Expression<Double> sqrt(Expression<? extends Number> x)
      Create an expression that returns the square root of its argument.
      Parameters:
      x - expression
      Returns:
      square root
    • exp Link icon

      Expression<Double> exp(Expression<? extends 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.
      Parameters:
      x - expression
      Returns:
      exponential
    • ln Link icon

      Expression<Double> ln(Expression<? extends Number> x)
      Create an expression that returns the natural logarithm of its argument.
      Parameters:
      x - expression
      Returns:
      natural logarithm
    • power Link icon

      Expression<Double> power(Expression<? extends Number> x, Expression<? extends Number> y)
      Create an expression that returns the first argument raised to the power of its second argument.
      Parameters:
      x - base
      y - exponent
      Returns:
      the base raised to the power of the exponent
    • power Link icon

      Expression<Double> power(Expression<? extends Number> x, Number y)
      Create an expression that returns the first argument raised to the power of its second argument.
      Parameters:
      x - base
      y - exponent
      Returns:
      the base raised to the power of the exponent
    • round Link icon

      <T extends Number> Expression<T> round(Expression<T> x, Integer n)
      Create an expression that returns the first argument rounded to the number of decimal places given by the second argument.
      Parameters:
      x - base
      n - number of decimal places
      Returns:
      the rounded value
    • toLong Link icon

      Expression<Long> toLong(Expression<? extends Number> number)
      Typecast. Returns same expression object.
      Parameters:
      number - numeric expression
      Returns:
      Expression<Long>
    • toInteger Link icon

      Expression<Integer> toInteger(Expression<? extends Number> number)
      Typecast. Returns same expression object.
      Parameters:
      number - numeric expression
      Returns:
      Expression<Integer>
    • toFloat Link icon

      Expression<Float> toFloat(Expression<? extends Number> number)
      Typecast. Returns same expression object.
      Parameters:
      number - numeric expression
      Returns:
      Expression<Float>
    • toDouble Link icon

      Expression<Double> toDouble(Expression<? extends Number> number)
      Typecast. Returns same expression object.
      Parameters:
      number - numeric expression
      Returns:
      Expression<Double>
    • toBigDecimal Link icon

      Expression<BigDecimal> toBigDecimal(Expression<? extends Number> number)
      Typecast. Returns same expression object.
      Parameters:
      number - numeric expression
      Returns:
      Expression<BigDecimal>
    • toBigInteger Link icon

      Expression<BigInteger> toBigInteger(Expression<? extends Number> number)
      Typecast. Returns same expression object.
      Parameters:
      number - numeric expression
      Returns:
      Expression<BigInteger>
    • toString Link icon

      Expression<String> toString(Expression<Character> character)
      Typecast. Returns same expression object.
      Parameters:
      character - expression
      Returns:
      Expression<String>
    • literal Link icon

      <T> Expression<T> literal(T value)
      Create an expression for a literal.
      Parameters:
      value - value represented by the expression
      Returns:
      expression literal
      Throws:
      IllegalArgumentException - if value is null
    • nullLiteral Link icon

      <T> Expression<T> nullLiteral(Class<T> resultClass)
      Create an expression for a null literal with the given type.
      Parameters:
      resultClass - type of the null literal
      Returns:
      null expression literal
    • parameter Link icon

      <T> ParameterExpression<T> parameter(Class<T> paramClass)
      Create a parameter expression.
      Parameters:
      paramClass - parameter class
      Returns:
      parameter expression
    • parameter Link icon

      <T> ParameterExpression<T> parameter(Class<T> paramClass, String name)
      Create a parameter expression with the given name.
      Parameters:
      paramClass - parameter class
      name - name that can be used to refer to the parameter
      Returns:
      parameter expression
    • isEmpty Link icon

      <C extends Collection<?>> Predicate isEmpty(Expression<C> collection)
      Create a predicate that tests whether a collection is empty.
      Parameters:
      collection - expression
      Returns:
      is-empty predicate
    • isNotEmpty Link icon

      <C extends Collection<?>> Predicate isNotEmpty(Expression<C> collection)
      Create a predicate that tests whether a collection is not empty.
      Parameters:
      collection - expression
      Returns:
      is-not-empty predicate
    • size Link icon

      <C extends Collection<?>> Expression<Integer> size(Expression<C> collection)
      Create an expression that tests the size of a collection.
      Parameters:
      collection - expression
      Returns:
      size expression
    • size Link icon

      <C extends Collection<?>> Expression<Integer> size(C collection)
      Create an expression that tests the size of a collection.
      Parameters:
      collection - collection
      Returns:
      size expression
    • isMember Link icon

      <E, C extends Collection<E>> Predicate isMember(Expression<E> elem, Expression<C> collection)
      Create a predicate that tests whether an element is a member of a collection. If the collection is empty, the predicate will be false.
      Parameters:
      elem - element expression
      collection - expression
      Returns:
      is-member predicate
    • isMember Link icon

      <E, C extends Collection<E>> Predicate isMember(E elem, Expression<C> collection)
      Create a predicate that tests whether an element is a member of a collection. If the collection is empty, the predicate will be false.
      Parameters:
      elem - element
      collection - expression
      Returns:
      is-member predicate
    • isNotMember Link icon

      <E, C extends Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection)
      Create a predicate that tests whether an element is not a member of a collection. If the collection is empty, the predicate will be true.
      Parameters:
      elem - element expression
      collection - expression
      Returns:
      is-not-member predicate
    • isNotMember Link icon

      <E, C extends Collection<E>> Predicate isNotMember(E elem, Expression<C> collection)
      Create a predicate that tests whether an element is not a member of a collection. If the collection is empty, the predicate will be true.
      Parameters:
      elem - element
      collection - expression
      Returns:
      is-not-member predicate
    • values Link icon

      <V, M extends Map<?, V>> Expression<Collection<V>> values(M map)
      Create an expression that returns the values of a map.
      Parameters:
      map - map
      Returns:
      collection expression
    • keys Link icon

      <K, M extends Map<K, ?>> Expression<Set<K>> keys(M map)
      Create an expression that returns the keys of a map.
      Parameters:
      map - map
      Returns:
      set expression
    • like Link icon

      Create a predicate for testing whether the expression satisfies the given pattern.
      Parameters:
      x - string expression
      pattern - string expression
      Returns:
      like predicate
    • like Link icon

      Predicate like(Expression<String> x, String pattern)
      Create a predicate for testing whether the expression satisfies the given pattern.
      Parameters:
      x - string expression
      pattern - string
      Returns:
      like predicate
    • like Link icon

      Predicate like(Expression<String> x, Expression<String> pattern, Expression<Character> escapeChar)
      Create a predicate for testing whether the expression satisfies the given pattern.
      Parameters:
      x - string expression
      pattern - string expression
      escapeChar - escape character expression
      Returns:
      like predicate
    • like Link icon

      Predicate like(Expression<String> x, Expression<String> pattern, char escapeChar)
      Create a predicate for testing whether the expression satisfies the given pattern.
      Parameters:
      x - string expression
      pattern - string expression
      escapeChar - escape character
      Returns:
      like predicate
    • like Link icon

      Predicate like(Expression<String> x, String pattern, Expression<Character> escapeChar)
      Create a predicate for testing whether the expression satisfies the given pattern.
      Parameters:
      x - string expression
      pattern - string
      escapeChar - escape character expression
      Returns:
      like predicate
    • like Link icon

      Predicate like(Expression<String> x, String pattern, char escapeChar)
      Create a predicate for testing whether the expression satisfies the given pattern.
      Parameters:
      x - string expression
      pattern - string
      escapeChar - escape character
      Returns:
      like predicate
    • notLike Link icon

      Predicate notLike(Expression<String> x, Expression<String> pattern)
      Create a predicate for testing whether the expression does not satisfy the given pattern.
      Parameters:
      x - string expression
      pattern - string expression
      Returns:
      not-like predicate
    • notLike Link icon

      Predicate notLike(Expression<String> x, String pattern)
      Create a predicate for testing whether the expression does not satisfy the given pattern.
      Parameters:
      x - string expression
      pattern - string
      Returns:
      not-like predicate
    • notLike Link icon

      Predicate notLike(Expression<String> x, Expression<String> pattern, Expression<Character> escapeChar)
      Create a predicate for testing whether the expression does not satisfy the given pattern.
      Parameters:
      x - string expression
      pattern - string expression
      escapeChar - escape character expression
      Returns:
      not-like predicate
    • notLike Link icon

      Predicate notLike(Expression<String> x, Expression<String> pattern, char escapeChar)
      Create a predicate for testing whether the expression does not satisfy the given pattern.
      Parameters:
      x - string expression
      pattern - string expression
      escapeChar - escape character
      Returns:
      not-like predicate
    • notLike Link icon

      Predicate notLike(Expression<String> x, String pattern, Expression<Character> escapeChar)
      Create a predicate for testing whether the expression does not satisfy the given pattern.
      Parameters:
      x - string expression
      pattern - string
      escapeChar - escape character expression
      Returns:
      not-like predicate
    • notLike Link icon

      Predicate notLike(Expression<String> x, String pattern, char escapeChar)
      Create a predicate for testing whether the expression does not satisfy the given pattern.
      Parameters:
      x - string expression
      pattern - string
      escapeChar - escape character
      Returns:
      not-like predicate
    • concat Link icon

      Expression<String> concat(List<Expression<String>> expressions)
      Create an expression for string concatenation. If the given list of expressions is empty, returns an expression equivalent to literal("").
      Parameters:
      expressions - string expressions
      Returns:
      expression corresponding to concatenation
    • concat Link icon

      Create an expression for string concatenation.
      Parameters:
      x - string expression
      y - string expression
      Returns:
      expression corresponding to concatenation
    • concat Link icon

      Create an expression for string concatenation.
      Parameters:
      x - string expression
      y - string
      Returns:
      expression corresponding to concatenation
    • concat Link icon

      Create an expression for string concatenation.
      Parameters:
      x - string
      y - string expression
      Returns:
      expression corresponding to concatenation
    • substring Link icon

      Create an expression for substring extraction. Extracts a substring starting at the specified position through to end of the string. First position is 1.
      Parameters:
      x - string expression
      from - start position expression
      Returns:
      expression corresponding to substring extraction
    • substring Link icon

      Expression<String> substring(Expression<String> x, int from)
      Create an expression for substring extraction. Extracts a substring starting at the specified position through to end of the string. First position is 1.
      Parameters:
      x - string expression
      from - start position
      Returns:
      expression corresponding to substring extraction
    • substring Link icon

      Create an expression for substring extraction. Extracts a substring of given length starting at the specified position. First position is 1.
      Parameters:
      x - string expression
      from - start position expression
      len - length expression
      Returns:
      expression corresponding to substring extraction
    • substring Link icon

      Expression<String> substring(Expression<String> x, int from, int len)
      Create an expression for substring extraction. Extracts a substring of given length starting at the specified position. First position is 1.
      Parameters:
      x - string expression
      from - start position
      len - length
      Returns:
      expression corresponding to substring extraction
    • trim Link icon

      Create expression to trim blanks from both ends of a string.
      Parameters:
      x - expression for string to trim
      Returns:
      trim expression
    • trim Link icon

      Create expression to trim blanks from a string.
      Parameters:
      ts - trim specification
      x - expression for string to trim
      Returns:
      trim expression
    • trim Link icon

      Create expression to trim character from both ends of a string.
      Parameters:
      t - expression for character to be trimmed
      x - expression for string to trim
      Returns:
      trim expression
    • trim Link icon

      Create expression to trim character from a string.
      Parameters:
      ts - trim specification
      t - expression for character to be trimmed
      x - expression for string to trim
      Returns:
      trim expression
    • trim Link icon

      Expression<String> trim(char t, Expression<String> x)
      Create expression to trim character from both ends of a string.
      Parameters:
      t - character to be trimmed
      x - expression for string to trim
      Returns:
      trim expression
    • trim Link icon

      Create expression to trim character from a string.
      Parameters:
      ts - trim specification
      t - character to be trimmed
      x - expression for string to trim
      Returns:
      trim expression
    • lower Link icon

      Create expression for converting a string to lowercase.
      Parameters:
      x - string expression
      Returns:
      expression to convert to lowercase
    • upper Link icon

      Create expression for converting a string to uppercase.
      Parameters:
      x - string expression
      Returns:
      expression to convert to uppercase
    • length Link icon

      Create expression to return length of a string.
      Parameters:
      x - string expression
      Returns:
      length expression
    • left Link icon

      Expression<String> left(Expression<String> x, int len)
      Create an expression for the leftmost substring of a string,
      Parameters:
      x - string expression
      len - length of the substring to return
      Returns:
      expression for the leftmost substring
    • right Link icon

      Expression<String> right(Expression<String> x, int len)
      Create an expression for the rightmost substring of a string,
      Parameters:
      x - string expression
      len - length of the substring to return
      Returns:
      expression for the rightmost substring
    • left Link icon

      Create an expression for the leftmost substring of a string,
      Parameters:
      x - string expression
      len - length of the substring to return
      Returns:
      expression for the leftmost substring
    • right Link icon

      Create an expression for the rightmost substring of a string,
      Parameters:
      x - string expression
      len - length of the substring to return
      Returns:
      expression for the rightmost substring
    • replace Link icon

      Expression<String> replace(Expression<String> x, Expression<String> substring, Expression<String> replacement)
      Create an expression replacing every occurrence of a substring within a string.
      Parameters:
      x - string expression
      substring - the literal substring to replace
      replacement - the replacement string
      Returns:
      expression for the resulting string
    • replace Link icon

      Expression<String> replace(Expression<String> x, String substring, Expression<String> replacement)
      Create an expression replacing every occurrence of a substring within a string.
      Parameters:
      x - string expression
      substring - the literal substring to replace
      replacement - the replacement string
      Returns:
      expression for the resulting string
    • replace Link icon

      Expression<String> replace(Expression<String> x, Expression<String> substring, String replacement)
      Create an expression replacing every occurrence of a substring within a string.
      Parameters:
      x - string expression
      substring - the literal substring to replace
      replacement - the replacement string
      Returns:
      expression for the resulting string
    • replace Link icon

      Expression<String> replace(Expression<String> x, String substring, String replacement)
      Create an expression replacing every occurrence of a substring within a string.
      Parameters:
      x - string expression
      substring - the literal substring to replace
      replacement - the replacement string
      Returns:
      expression for the resulting string
    • locate Link icon

      Create expression to locate the position of one string within another, returning position of first character if found. The first position in a string is denoted by 1. If the string to be located is not found, 0 is returned.

      Warning: the order of the parameters of this method is reversed compared to the corresponding function in JPQL.

      Parameters:
      x - expression for string to be searched
      pattern - expression for string to be located
      Returns:
      expression corresponding to position
    • locate Link icon

      Expression<Integer> locate(Expression<String> x, String pattern)
      Create expression to locate the position of one string within another, returning position of first character if found. The first position in a string is denoted by 1. If the string to be located is not found, 0 is returned.

      Warning: the order of the parameters of this method is reversed compared to the corresponding function in JPQL.

      Parameters:
      x - expression for string to be searched
      pattern - string to be located
      Returns:
      expression corresponding to position
    • locate Link icon

      Create expression to locate the position of one string within another, returning position of first character if found. The first position in a string is denoted by 1. If the string to be located is not found, 0 is returned.

      Warning: the order of the first two parameters of this method is reversed compared to the corresponding function in JPQL.

      Parameters:
      x - expression for string to be searched
      pattern - expression for string to be located
      from - expression for position at which to start search
      Returns:
      expression corresponding to position
    • locate Link icon

      Expression<Integer> locate(Expression<String> x, String pattern, int from)
      Create expression to locate the position of one string within another, returning position of first character if found. The first position in a string is denoted by 1. If the string to be located is not found, 0 is returned.

      Warning: the order of the first two parameters of this method is reversed compared to the corresponding function in JPQL.

      Parameters:
      x - expression for string to be searched
      pattern - string to be located
      from - position at which to start search
      Returns:
      expression corresponding to position
    • currentDate Link icon

      Expression<Date> currentDate()
      Create expression to return current date.
      Returns:
      expression for current date
    • currentTimestamp Link icon

      Expression<Timestamp> currentTimestamp()
      Create expression to return current timestamp.
      Returns:
      expression for current timestamp
    • currentTime Link icon

      Expression<Time> currentTime()
      Create expression to return current time.
      Returns:
      expression for current time
    • localDate Link icon

      Expression<LocalDate> localDate()
      Create expression to return current local date.
      Returns:
      expression for current date
    • localDateTime Link icon

      Expression<LocalDateTime> localDateTime()
      Create expression to return current local datetime.
      Returns:
      expression for current timestamp
    • localTime Link icon

      Expression<LocalTime> localTime()
      Create expression to return current local time.
      Returns:
      expression for current time
    • extract Link icon

      <N, T extends Temporal> Expression<N> extract(TemporalField<N,T> field, Expression<T> temporal)
      Create an expression that returns the value of a field extracted from a date, time, or datetime.
      Parameters:
      field - a temporal field type
      temporal - a date, time, or datetime
      Returns:
      expression for the value of the extracted field
      Since:
      3.2
    • in Link icon

      <T> CriteriaBuilder.In<T> in(Expression<? extends T> expression)
      Create predicate to test whether given expression is contained in a list of values.
      Parameters:
      expression - to be tested against list of values
      Returns:
      in predicate
    • coalesce Link icon

      <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.
      Parameters:
      x - expression
      y - expression
      Returns:
      coalesce expression
    • coalesce Link icon

      <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.
      Parameters:
      x - expression
      y - value
      Returns:
      coalesce expression
    • nullif Link icon

      <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.
      Parameters:
      x - expression
      y - expression
      Returns:
      nullif expression
    • nullif Link icon

      <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.
      Parameters:
      x - expression
      y - value
      Returns:
      nullif expression
    • coalesce Link icon

      <T> CriteriaBuilder.Coalesce<T> coalesce()
      Create a coalesce expression.
      Returns:
      coalesce expression
    • selectCase Link icon

      <C, R> CriteriaBuilder.SimpleCase<C,R> selectCase(Expression<? extends C> expression)
      Create a simple case expression.
      Parameters:
      expression - to be tested against the case conditions
      Returns:
      simple case expression
    • selectCase Link icon

      <R> CriteriaBuilder.Case<R> selectCase()
      Create a general case expression.
      Returns:
      general case expression
    • function Link icon

      <T> Expression<T> function(String name, Class<T> type, Expression<?>... args)
      Create an expression for the execution of a database function.
      Parameters:
      name - function name
      type - expected result type
      args - function arguments
      Returns:
      expression
    • treat Link icon

      <X, T, V extends T> Join<X,V> treat(Join<X,T> join, Class<V> type)
      Downcast Join object to the specified type.
      Parameters:
      join - Join object
      type - type to be downcast to
      Returns:
      Join object of the specified type
      Since:
      2.1
    • treat Link icon

      <X, T, E extends T> CollectionJoin<X,E> treat(CollectionJoin<X,T> join, Class<E> type)
      Downcast CollectionJoin object to the specified type.
      Parameters:
      join - CollectionJoin object
      type - type to be downcast to
      Returns:
      CollectionJoin object of the specified type
      Since:
      2.1
    • treat Link icon

      <X, T, E extends T> SetJoin<X,E> treat(SetJoin<X,T> join, Class<E> type)
      Downcast SetJoin object to the specified type.
      Parameters:
      join - SetJoin object
      type - type to be downcast to
      Returns:
      SetJoin object of the specified type
      Since:
      2.1
    • treat Link icon

      <X, T, E extends T> ListJoin<X,E> treat(ListJoin<X,T> join, Class<E> type)
      Downcast ListJoin object to the specified type.
      Parameters:
      join - ListJoin object
      type - type to be downcast to
      Returns:
      ListJoin object of the specified type
      Since:
      2.1
    • treat Link icon

      <X, K, T, V extends T> MapJoin<X,K,V> treat(MapJoin<X,K,T> join, Class<V> type)
      Downcast MapJoin object to the specified type.
      Parameters:
      join - MapJoin object
      type - type to be downcast to
      Returns:
      MapJoin object of the specified type
      Since:
      2.1
    • treat Link icon

      <X, T extends X> Path<T> treat(Path<X> path, Class<T> type)
      Downcast Path object to the specified type.
      Parameters:
      path - path
      type - type to be downcast to
      Returns:
      Path object of the specified type
      Since:
      2.1
    • treat Link icon

      <X, T extends X> Root<T> treat(Root<X> root, Class<T> type)
      Downcast Root object to the specified type.
      Parameters:
      root - root
      type - type to be downcast to
      Returns:
      Root object of the specified type
      Since:
      2.1
    • union Link icon

      <T> CriteriaSelect<T> union(CriteriaSelect<? extends T> left, CriteriaSelect<? extends T> right)
      Create a query which is the union of the given queries.
      Returns:
      a new criteria query which returns the union of the results of the given queries
      Since:
      3.2
    • unionAll Link icon

      <T> CriteriaSelect<T> unionAll(CriteriaSelect<? extends T> left, CriteriaSelect<? extends T> right)
      Create a query which is the union of the given queries, without elimination of duplicate results.
      Returns:
      a new criteria query which returns the union of the results of the given queries
      Since:
      3.2
    • intersect Link icon

      <T> CriteriaSelect<T> intersect(CriteriaSelect<? super T> left, CriteriaSelect<? super T> right)
      Create a query which is the intersection of the given queries.
      Returns:
      a new criteria query which returns the intersection of the results of the given queries
      Since:
      3.2
    • intersectAll Link icon

      <T> CriteriaSelect<T> intersectAll(CriteriaSelect<? super T> left, CriteriaSelect<? super T> right)
      Create a query which is the intersection of the given queries, without elimination of duplicate results.
      Returns:
      a new criteria query which returns the intersection of the results of the given queries
      Since:
      3.2
    • except Link icon

      <T> CriteriaSelect<T> except(CriteriaSelect<T> left, CriteriaSelect<?> right)
      Create a query by (setwise) subtraction of the second query from the first query.
      Returns:
      a new criteria query which returns the result of subtracting the results of the second query from the results of the first query
      Since:
      3.2
    • exceptAll Link icon

      <T> CriteriaSelect<T> exceptAll(CriteriaSelect<T> left, CriteriaSelect<?> right)
      Create a query by (setwise) subtraction of the second query from the first query, without elimination of duplicate results.
      Returns:
      a new criteria query which returns the result of subtracting the results of the second query from the results of the first query
      Since:
      3.2