public interface CriteriaBuilder
Modifier and Type | Interface and Description |
---|---|
static interface |
CriteriaBuilder.Case<R> |
static interface |
CriteriaBuilder.Coalesce<T> |
static interface |
CriteriaBuilder.In<T> |
static interface |
CriteriaBuilder.SimpleCase<C,R> |
static class |
CriteriaBuilder.Trimspec |
Modifier and Type | Method and Description |
---|---|
<N extends java.lang.Number> |
abs(Expression<N> x) |
<Y> Expression<Y> |
all(Subquery<Y> subquery) |
Predicate |
and(Expression<java.lang.Boolean> x,
Expression<java.lang.Boolean> y) |
Predicate |
and(Predicate... restrictions) |
<Y> Expression<Y> |
any(Subquery<Y> subquery) |
CompoundSelection<java.lang.Object[]> |
array(Selection<?>... selections) |
Order |
asc(Expression<?> x) |
<N extends java.lang.Number> |
avg(Expression<N> x) |
<Y extends java.lang.Comparable<? super Y>> |
between(Expression<? extends Y> v,
Expression<? extends Y> x,
Expression<? extends Y> y) |
<Y extends java.lang.Comparable<? super Y>> |
between(Expression<? extends Y> v,
Y x,
Y y) |
<T> CriteriaBuilder.Coalesce<T> |
coalesce() |
<Y> Expression<Y> |
coalesce(Expression<? extends Y> x,
Expression<? extends Y> y) |
<Y> Expression<Y> |
coalesce(Expression<? extends Y> x,
Y y) |
Expression<java.lang.String> |
concat(Expression<java.lang.String> x,
Expression<java.lang.String> y) |
Expression<java.lang.String> |
concat(Expression<java.lang.String> x,
java.lang.String y) |
Expression<java.lang.String> |
concat(java.lang.String x,
Expression<java.lang.String> y) |
Predicate |
conjunction() |
<Y> CompoundSelection<Y> |
construct(java.lang.Class<Y> resultClass,
Selection<?>... selections) |
Expression<java.lang.Long> |
count(Expression<?> x) |
Expression<java.lang.Long> |
countDistinct(Expression<?> x) |
CriteriaQuery<java.lang.Object> |
createQuery() |
<T> CriteriaQuery<T> |
createQuery(java.lang.Class<T> resultClass) |
CriteriaQuery<Tuple> |
createTupleQuery() |
Expression<java.sql.Date> |
currentDate() |
Expression<java.sql.Time> |
currentTime() |
Expression<java.sql.Timestamp> |
currentTimestamp() |
Order |
desc(Expression<?> x) |
<N extends java.lang.Number> |
diff(Expression<? extends N> x,
Expression<? extends N> y) |
<N extends java.lang.Number> |
diff(Expression<? extends N> x,
N y) |
<N extends java.lang.Number> |
diff(N x,
Expression<? extends N> y) |
Predicate |
disjunction() |
Predicate |
equal(Expression<?> x,
Expression<?> y) |
Predicate |
equal(Expression<?> x,
java.lang.Object y) |
Predicate |
exists(Subquery<?> subquery) |
<T> Expression<T> |
function(java.lang.String name,
java.lang.Class<T> type,
Expression<?>... args) |
Predicate |
ge(Expression<? extends java.lang.Number> x,
Expression<? extends java.lang.Number> y) |
Predicate |
ge(Expression<? extends java.lang.Number> x,
java.lang.Number y) |
<Y extends java.lang.Comparable<? super Y>> |
greaterThan(Expression<? extends Y> x,
Expression<? extends Y> y) |
<Y extends java.lang.Comparable<? super Y>> |
greaterThan(Expression<? extends Y> x,
Y y) |
<Y extends java.lang.Comparable<? super Y>> |
greaterThanOrEqualTo(Expression<? extends Y> x,
Expression<? extends Y> y) |
<Y extends java.lang.Comparable<? super Y>> |
greaterThanOrEqualTo(Expression<? extends Y> x,
Y y) |
<X extends java.lang.Comparable<? super X>> |
greatest(Expression<X> x) |
Predicate |
gt(Expression<? extends java.lang.Number> x,
Expression<? extends java.lang.Number> y) |
Predicate |
gt(Expression<? extends java.lang.Number> x,
java.lang.Number y) |
<T> CriteriaBuilder.In<T> |
in(Expression<? extends T> expression) |
<C extends java.util.Collection<?>> |
isEmpty(Expression<C> collection) |
Predicate |
isFalse(Expression<java.lang.Boolean> x) |
<E,C extends java.util.Collection<E>> |
isMember(E elem,
Expression<C> collection) |
<E,C extends java.util.Collection<E>> |
isMember(Expression<E> elem,
Expression<C> collection) |
<C extends java.util.Collection<?>> |
isNotEmpty(Expression<C> collection) |
<E,C extends java.util.Collection<E>> |
isNotMember(E elem,
Expression<C> collection) |
<E,C extends java.util.Collection<E>> |
isNotMember(Expression<E> elem,
Expression<C> collection) |
Predicate |
isNotNull(Expression<?> x) |
Predicate |
isNull(Expression<?> x) |
Predicate |
isTrue(Expression<java.lang.Boolean> x) |
<K,M extends java.util.Map<K,?>> |
keys(M map) |
Predicate |
le(Expression<? extends java.lang.Number> x,
Expression<? extends java.lang.Number> y) |
Predicate |
le(Expression<? extends java.lang.Number> x,
java.lang.Number y) |
<X extends java.lang.Comparable<? super X>> |
least(Expression<X> x) |
Expression<java.lang.Integer> |
length(Expression<java.lang.String> x) |
<Y extends java.lang.Comparable<? super Y>> |
lessThan(Expression<? extends Y> x,
Expression<? extends Y> y) |
<Y extends java.lang.Comparable<? super Y>> |
lessThan(Expression<? extends Y> x,
Y y) |
<Y extends java.lang.Comparable<? super Y>> |
lessThanOrEqualTo(Expression<? extends Y> x,
Expression<? extends Y> y) |
<Y extends java.lang.Comparable<? super Y>> |
lessThanOrEqualTo(Expression<? extends Y> x,
Y y) |
Predicate |
like(Expression<java.lang.String> x,
Expression<java.lang.String> pattern) |
Predicate |
like(Expression<java.lang.String> x,
Expression<java.lang.String> pattern,
char escapeChar) |
Predicate |
like(Expression<java.lang.String> x,
Expression<java.lang.String> pattern,
Expression<java.lang.Character> escapeChar) |
Predicate |
like(Expression<java.lang.String> x,
java.lang.String pattern) |
Predicate |
like(Expression<java.lang.String> x,
java.lang.String pattern,
char escapeChar) |
Predicate |
like(Expression<java.lang.String> x,
java.lang.String pattern,
Expression<java.lang.Character> escapeChar) |
<T> Expression<T> |
literal(T value) |
Expression<java.lang.Integer> |
locate(Expression<java.lang.String> x,
Expression<java.lang.String> pattern) |
Expression<java.lang.Integer> |
locate(Expression<java.lang.String> x,
Expression<java.lang.String> pattern,
Expression<java.lang.Integer> from) |
Expression<java.lang.Integer> |
locate(Expression<java.lang.String> x,
java.lang.String pattern) |
Expression<java.lang.Integer> |
locate(Expression<java.lang.String> x,
java.lang.String pattern,
int from) |
Expression<java.lang.String> |
lower(Expression<java.lang.String> x) |
Predicate |
lt(Expression<? extends java.lang.Number> x,
Expression<? extends java.lang.Number> y) |
Predicate |
lt(Expression<? extends java.lang.Number> x,
java.lang.Number y) |
<N extends java.lang.Number> |
max(Expression<N> x) |
<N extends java.lang.Number> |
min(Expression<N> x) |
Expression<java.lang.Integer> |
mod(Expression<java.lang.Integer> x,
Expression<java.lang.Integer> y) |
Expression<java.lang.Integer> |
mod(Expression<java.lang.Integer> x,
java.lang.Integer y) |
Expression<java.lang.Integer> |
mod(java.lang.Integer x,
Expression<java.lang.Integer> y) |
<N extends java.lang.Number> |
neg(Expression<N> x) |
Predicate |
not(Expression<java.lang.Boolean> restriction) |
Predicate |
notEqual(Expression<?> x,
Expression<?> y) |
Predicate |
notEqual(Expression<?> x,
java.lang.Object y) |
Predicate |
notLike(Expression<java.lang.String> x,
Expression<java.lang.String> pattern) |
Predicate |
notLike(Expression<java.lang.String> x,
Expression<java.lang.String> pattern,
char escapeChar) |
Predicate |
notLike(Expression<java.lang.String> x,
Expression<java.lang.String> pattern,
Expression<java.lang.Character> escapeChar) |
Predicate |
notLike(Expression<java.lang.String> x,
java.lang.String pattern) |
Predicate |
notLike(Expression<java.lang.String> x,
java.lang.String pattern,
char escapeChar) |
Predicate |
notLike(Expression<java.lang.String> x,
java.lang.String pattern,
Expression<java.lang.Character> escapeChar) |
<Y> Expression<Y> |
nullif(Expression<Y> x,
Expression<?> y) |
<Y> Expression<Y> |
nullif(Expression<Y> x,
Y y) |
<T> Expression<T> |
nullLiteral(java.lang.Class<T> resultClass) |
Predicate |
or(Expression<java.lang.Boolean> x,
Expression<java.lang.Boolean> y) |
Predicate |
or(Predicate... restrictions) |
<T> ParameterExpression<T> |
parameter(java.lang.Class<T> paramClass) |
<T> ParameterExpression<T> |
parameter(java.lang.Class<T> paramClass,
java.lang.String name) |
<N extends java.lang.Number> |
prod(Expression<? extends N> x,
Expression<? extends N> y) |
<N extends java.lang.Number> |
prod(Expression<? extends N> x,
N y) |
<N extends java.lang.Number> |
prod(N x,
Expression<? extends N> y) |
Expression<java.lang.Number> |
quot(Expression<? extends java.lang.Number> x,
Expression<? extends java.lang.Number> y) |
Expression<java.lang.Number> |
quot(Expression<? extends java.lang.Number> x,
java.lang.Number y) |
Expression<java.lang.Number> |
quot(java.lang.Number x,
Expression<? extends java.lang.Number> y) |
<R> CriteriaBuilder.Case<R> |
selectCase() |
<C,R> CriteriaBuilder.SimpleCase<C,R> |
selectCase(Expression<? extends C> expression) |
<C extends java.util.Collection<?>> |
size(C collection) |
<C extends java.util.Collection<?>> |
size(Expression<C> collection) |
<Y> Expression<Y> |
some(Subquery<Y> subquery) |
Expression<java.lang.Double> |
sqrt(Expression<? extends java.lang.Number> x) |
Expression<java.lang.String> |
substring(Expression<java.lang.String> x,
Expression<java.lang.Integer> from) |
Expression<java.lang.String> |
substring(Expression<java.lang.String> x,
Expression<java.lang.Integer> from,
Expression<java.lang.Integer> len) |
Expression<java.lang.String> |
substring(Expression<java.lang.String> x,
int from) |
Expression<java.lang.String> |
substring(Expression<java.lang.String> x,
int from,
int len) |
<N extends java.lang.Number> |
sum(Expression<? extends N> x,
Expression<? extends N> y) |
<N extends java.lang.Number> |
sum(Expression<? extends N> x,
N y) |
<N extends java.lang.Number> |
sum(Expression<N> x) |
<N extends java.lang.Number> |
sum(N x,
Expression<? extends N> y) |
Expression<java.lang.Double> |
sumAsDouble(Expression<java.lang.Float> x) |
Expression<java.lang.Long> |
sumAsLong(Expression<java.lang.Integer> x) |
Expression<java.math.BigDecimal> |
toBigDecimal(Expression<? extends java.lang.Number> number) |
Expression<java.math.BigInteger> |
toBigInteger(Expression<? extends java.lang.Number> number) |
Expression<java.lang.Double> |
toDouble(Expression<? extends java.lang.Number> number) |
Expression<java.lang.Float> |
toFloat(Expression<? extends java.lang.Number> number) |
Expression<java.lang.Integer> |
toInteger(Expression<? extends java.lang.Number> number) |
Expression<java.lang.Long> |
toLong(Expression<? extends java.lang.Number> number) |
Expression<java.lang.String> |
toString(Expression<java.lang.Character> expr) |
Expression<java.lang.String> |
trim(char t,
Expression<java.lang.String> x) |
Expression<java.lang.String> |
trim(CriteriaBuilder.Trimspec trimSpec,
char t,
Expression<java.lang.String> x) |
Expression<java.lang.String> |
trim(CriteriaBuilder.Trimspec trimSpec,
Expression<java.lang.Character> t,
Expression<java.lang.String> x) |
Expression<java.lang.String> |
trim(CriteriaBuilder.Trimspec trim,
Expression<java.lang.String> x) |
Expression<java.lang.String> |
trim(Expression<java.lang.Character> t,
Expression<java.lang.String> x) |
Expression<java.lang.String> |
trim(Expression<java.lang.String> x) |
CompoundSelection<Tuple> |
tuple(Selection<?>... selections) |
Expression<java.lang.String> |
upper(Expression<java.lang.String> x) |
<V,M extends java.util.Map<?,V>> |
values(M map) |
CriteriaQuery<java.lang.Object> createQuery()
<T> CriteriaQuery<T> createQuery(java.lang.Class<T> resultClass)
CriteriaQuery<Tuple> createTupleQuery()
<Y> CompoundSelection<Y> construct(java.lang.Class<Y> resultClass, Selection<?>... selections)
CompoundSelection<Tuple> tuple(Selection<?>... selections)
CompoundSelection<java.lang.Object[]> array(Selection<?>... selections)
Order asc(Expression<?> x)
Order desc(Expression<?> x)
<N extends java.lang.Number> Expression<java.lang.Double> avg(Expression<N> x)
<N extends java.lang.Number> Expression<N> sum(Expression<N> x)
Expression<java.lang.Long> sumAsLong(Expression<java.lang.Integer> x)
Expression<java.lang.Double> sumAsDouble(Expression<java.lang.Float> x)
<N extends java.lang.Number> Expression<N> max(Expression<N> x)
<N extends java.lang.Number> Expression<N> min(Expression<N> x)
<X extends java.lang.Comparable<? super X>> Expression<X> greatest(Expression<X> x)
<X extends java.lang.Comparable<? super X>> Expression<X> least(Expression<X> x)
Expression<java.lang.Long> count(Expression<?> x)
Expression<java.lang.Long> countDistinct(Expression<?> x)
<Y> Expression<Y> all(Subquery<Y> subquery)
<Y> Expression<Y> some(Subquery<Y> subquery)
<Y> Expression<Y> any(Subquery<Y> subquery)
Predicate and(Expression<java.lang.Boolean> x, Expression<java.lang.Boolean> y)
Predicate or(Expression<java.lang.Boolean> x, Expression<java.lang.Boolean> y)
Predicate not(Expression<java.lang.Boolean> restriction)
Predicate conjunction()
Predicate disjunction()
Predicate isTrue(Expression<java.lang.Boolean> x)
Predicate isFalse(Expression<java.lang.Boolean> x)
Predicate isNull(Expression<?> x)
Predicate isNotNull(Expression<?> x)
Predicate equal(Expression<?> x, Expression<?> y)
Predicate equal(Expression<?> x, java.lang.Object y)
Predicate notEqual(Expression<?> x, Expression<?> y)
Predicate notEqual(Expression<?> x, java.lang.Object y)
<Y extends java.lang.Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x, Expression<? extends Y> y)
<Y extends java.lang.Comparable<? super Y>> Predicate greaterThan(Expression<? extends Y> x, Y y)
<Y extends java.lang.Comparable<? super Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y)
<Y extends java.lang.Comparable<? super Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Y y)
<Y extends java.lang.Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x, Expression<? extends Y> y)
<Y extends java.lang.Comparable<? super Y>> Predicate lessThan(Expression<? extends Y> x, Y y)
<Y extends java.lang.Comparable<? super Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y)
<Y extends java.lang.Comparable<? super Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Y y)
<Y extends java.lang.Comparable<? super Y>> Predicate between(Expression<? extends Y> v, Expression<? extends Y> x, Expression<? extends Y> y)
<Y extends java.lang.Comparable<? super Y>> Predicate between(Expression<? extends Y> v, Y x, Y y)
Predicate gt(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
Predicate gt(Expression<? extends java.lang.Number> x, java.lang.Number y)
Predicate ge(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
Predicate ge(Expression<? extends java.lang.Number> x, java.lang.Number y)
Predicate lt(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
Predicate lt(Expression<? extends java.lang.Number> x, java.lang.Number y)
Predicate le(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
Predicate le(Expression<? extends java.lang.Number> x, java.lang.Number y)
<N extends java.lang.Number> Expression<N> neg(Expression<N> x)
<N extends java.lang.Number> Expression<N> abs(Expression<N> x)
<N extends java.lang.Number> Expression<N> sum(Expression<? extends N> x, Expression<? extends N> y)
<N extends java.lang.Number> Expression<N> sum(Expression<? extends N> x, N y)
<N extends java.lang.Number> Expression<N> sum(N x, Expression<? extends N> y)
<N extends java.lang.Number> Expression<N> prod(Expression<? extends N> x, Expression<? extends N> y)
<N extends java.lang.Number> Expression<N> prod(Expression<? extends N> x, N y)
<N extends java.lang.Number> Expression<N> prod(N x, Expression<? extends N> y)
<N extends java.lang.Number> Expression<N> diff(Expression<? extends N> x, Expression<? extends N> y)
<N extends java.lang.Number> Expression<N> diff(Expression<? extends N> x, N y)
<N extends java.lang.Number> Expression<N> diff(N x, Expression<? extends N> y)
Expression<java.lang.Number> quot(Expression<? extends java.lang.Number> x, Expression<? extends java.lang.Number> y)
Expression<java.lang.Number> quot(Expression<? extends java.lang.Number> x, java.lang.Number y)
Expression<java.lang.Number> quot(java.lang.Number x, Expression<? extends java.lang.Number> y)
Expression<java.lang.Integer> mod(Expression<java.lang.Integer> x, Expression<java.lang.Integer> y)
Expression<java.lang.Integer> mod(Expression<java.lang.Integer> x, java.lang.Integer y)
Expression<java.lang.Integer> mod(java.lang.Integer x, Expression<java.lang.Integer> y)
Expression<java.lang.Double> sqrt(Expression<? extends java.lang.Number> x)
Expression<java.lang.Long> toLong(Expression<? extends java.lang.Number> number)
Expression<java.lang.Integer> toInteger(Expression<? extends java.lang.Number> number)
Expression<java.lang.Float> toFloat(Expression<? extends java.lang.Number> number)
Expression<java.lang.Double> toDouble(Expression<? extends java.lang.Number> number)
Expression<java.math.BigDecimal> toBigDecimal(Expression<? extends java.lang.Number> number)
Expression<java.math.BigInteger> toBigInteger(Expression<? extends java.lang.Number> number)
Expression<java.lang.String> toString(Expression<java.lang.Character> expr)
<T> Expression<T> literal(T value)
<T> Expression<T> nullLiteral(java.lang.Class<T> resultClass)
<T> ParameterExpression<T> parameter(java.lang.Class<T> paramClass)
<T> ParameterExpression<T> parameter(java.lang.Class<T> paramClass, java.lang.String name)
<C extends java.util.Collection<?>> Predicate isEmpty(Expression<C> collection)
<C extends java.util.Collection<?>> Predicate isNotEmpty(Expression<C> collection)
<C extends java.util.Collection<?>> Expression<java.lang.Integer> size(Expression<C> collection)
<C extends java.util.Collection<?>> Expression<java.lang.Integer> size(C collection)
<E,C extends java.util.Collection<E>> Predicate isMember(Expression<E> elem, Expression<C> collection)
<E,C extends java.util.Collection<E>> Predicate isMember(E elem, Expression<C> collection)
<E,C extends java.util.Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection)
<E,C extends java.util.Collection<E>> Predicate isNotMember(E elem, Expression<C> collection)
<V,M extends java.util.Map<?,V>> Expression<java.util.Collection<V>> values(M map)
<K,M extends java.util.Map<K,?>> Expression<java.util.Set<K>> keys(M map)
Predicate like(Expression<java.lang.String> x, Expression<java.lang.String> pattern)
Predicate like(Expression<java.lang.String> x, java.lang.String pattern)
Predicate like(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Character> escapeChar)
Predicate like(Expression<java.lang.String> x, Expression<java.lang.String> pattern, char escapeChar)
Predicate like(Expression<java.lang.String> x, java.lang.String pattern, Expression<java.lang.Character> escapeChar)
Predicate like(Expression<java.lang.String> x, java.lang.String pattern, char escapeChar)
Predicate notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern)
Predicate notLike(Expression<java.lang.String> x, java.lang.String pattern)
Predicate notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Character> escapeChar)
Predicate notLike(Expression<java.lang.String> x, Expression<java.lang.String> pattern, char escapeChar)
Predicate notLike(Expression<java.lang.String> x, java.lang.String pattern, Expression<java.lang.Character> escapeChar)
Predicate notLike(Expression<java.lang.String> x, java.lang.String pattern, char escapeChar)
Expression<java.lang.String> concat(Expression<java.lang.String> x, Expression<java.lang.String> y)
Expression<java.lang.String> concat(Expression<java.lang.String> x, java.lang.String y)
Expression<java.lang.String> concat(java.lang.String x, Expression<java.lang.String> y)
Expression<java.lang.String> substring(Expression<java.lang.String> x, Expression<java.lang.Integer> from)
Expression<java.lang.String> substring(Expression<java.lang.String> x, int from)
Expression<java.lang.String> substring(Expression<java.lang.String> x, Expression<java.lang.Integer> from, Expression<java.lang.Integer> len)
Expression<java.lang.String> substring(Expression<java.lang.String> x, int from, int len)
Expression<java.lang.String> trim(Expression<java.lang.String> x)
Expression<java.lang.String> trim(CriteriaBuilder.Trimspec trim, Expression<java.lang.String> x)
Expression<java.lang.String> trim(Expression<java.lang.Character> t, Expression<java.lang.String> x)
Expression<java.lang.String> trim(CriteriaBuilder.Trimspec trimSpec, Expression<java.lang.Character> t, Expression<java.lang.String> x)
Expression<java.lang.String> trim(char t, Expression<java.lang.String> x)
Expression<java.lang.String> trim(CriteriaBuilder.Trimspec trimSpec, char t, Expression<java.lang.String> x)
Expression<java.lang.String> lower(Expression<java.lang.String> x)
Expression<java.lang.String> upper(Expression<java.lang.String> x)
Expression<java.lang.Integer> length(Expression<java.lang.String> x)
Expression<java.lang.Integer> locate(Expression<java.lang.String> x, Expression<java.lang.String> pattern)
Expression<java.lang.Integer> locate(Expression<java.lang.String> x, java.lang.String pattern)
Expression<java.lang.Integer> locate(Expression<java.lang.String> x, Expression<java.lang.String> pattern, Expression<java.lang.Integer> from)
Expression<java.lang.Integer> locate(Expression<java.lang.String> x, java.lang.String pattern, int from)
Expression<java.sql.Date> currentDate()
Expression<java.sql.Timestamp> currentTimestamp()
Expression<java.sql.Time> currentTime()
<T> CriteriaBuilder.In<T> in(Expression<? extends T> expression)
<Y> Expression<Y> coalesce(Expression<? extends Y> x, Expression<? extends Y> y)
<Y> Expression<Y> coalesce(Expression<? extends Y> x, Y y)
<Y> Expression<Y> nullif(Expression<Y> x, Expression<?> y)
<Y> Expression<Y> nullif(Expression<Y> x, Y y)
<T> CriteriaBuilder.Coalesce<T> coalesce()
<C,R> CriteriaBuilder.SimpleCase<C,R> selectCase(Expression<? extends C> expression)
<R> CriteriaBuilder.Case<R> selectCase()
<T> Expression<T> function(java.lang.String name, java.lang.Class<T> type, Expression<?>... args)