Package org.hibernate.query.criteria
Class CriteriaDefinition<R>
java.lang.Object
org.hibernate.query.criteria.spi.HibernateCriteriaBuilderDelegate
org.hibernate.query.criteria.CriteriaDefinition<R>
- Type Parameters:
R- the query result type
- All Implemented Interfaces:
AbstractQuery<R>,CommonAbstractCriteria,CriteriaBuilder,CriteriaQuery<R>,CriteriaSelect<R>,Serializable,HibernateCriteriaBuilder,JpaCriteriaBase,JpaCriteriaNode,JpaCriteriaQuery<R>,JpaCriteriaSelect<R>,JpaCteContainer,JpaQueryableCriteria<R>,JpaSelectCriteria<R>
@Incubating
public abstract class CriteriaDefinition<R>
extends HibernateCriteriaBuilderDelegate
implements JpaCriteriaQuery<R>
A utility class that makes it easier to build criteria queries.
From within an initializer block of a (usually anonymous) subclass, all operations of the
CriteriaBuilder and CriteriaQuery may be called without the need for
specifying the target object.
For example:
sessionFactory.inTransaction(session -> {
List<Book> books
= new CriteriaDefinition<>(sessionFactory, Book.class) {{
var book = from(Book.class);
where(like(book.get(Book_.title), "%Hibernate%"));
orderBy(desc(book.get(Book_.publicationDate)), asc(book.get(Book_.isbn)));
book.fetch(Book_.authors);
}}
.createSelectionQuery(session)
.setMaxResults(10)
.getResultList();
...
});
A CriteriaDefinition may even be used to modify a base HQL or criteria query:
sessionFactory.inTransaction(session -> {
List<Book> books
= new CriteriaDefinition<>(sessionFactory, Book.class,
"from Book left join fetch authors where type = BOOK") {{
var book = getRoot(0, Book.class);
where(getRestriction(), like(book.get(Book_.title), "%Hibernate%"));
orderBy(desc(book.get(Book_.publicationDate)), asc(book.get(Book_.isbn)));
}}
.createSelectionQuery(session)
.getResultList();
...
});
For queries which don't change between executions, the CriteriaDefinition may be
safely built and cached at startup:
// build and cache the query
static final CriteriaQuery<Book> bookQuery =
new CriteriaDefinition<>(sessionFactory, Book.class) {{
var book = from(Book.class);
where(like(book.get(Book_.title), "%Hibernate%"));
orderBy(desc(book.get(Book_.publicationDate)), asc(book.get(Book_.isbn)));
book.fetch(Book_.authors);
}};
...
// execute it in a session
sessionFactory.inTransaction(session -> {
List<Book> books =
session.createQuery(bookQuery)
.setMaxResults(10)
.getResultList();
...
});
A CriteriaDefinition may be used to modify another CriteriaDefinition:
var bookFilter
= new CriteriaDefinition<>(sessionFactory, Book.class) {{
where(like(from(Book.class).get(Book_.title), "%Hibernate%"));
}};
long count
= new CriteriaDefinition<>(bookFilter, Long.class) {{
select(count());
}}
.createSelectionQuery(session)
.getSingleResult();
var books =
= new CriteriaDefinition<>(bookFilter) {{
var book = (Root<Book>) getRootList().get(0);
book.fetch(Book_.authors);
orderBy(desc(book.get(Book_.publicationDate)), asc(book.get(Book_.isbn)));
}}
.createSelectionQuery(session)
.setMaxResults(10)
.getResultList();
- Since:
- 6.3
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface jakarta.persistence.criteria.CriteriaBuilder
CriteriaBuilder.Case<R>, CriteriaBuilder.Coalesce<T>, CriteriaBuilder.In<T>, CriteriaBuilder.SimpleCase<C,R>, CriteriaBuilder.Trimspec -
Constructor Summary
ConstructorsConstructorDescriptionCriteriaDefinition(CriteriaQuery<R> baseQuery) CriteriaDefinition(EntityManagerFactory factory, CriteriaQuery<R> baseQuery) CriteriaDefinition(EntityManagerFactory factory, Class<R> resultType) CriteriaDefinition(EntityManagerFactory factory, Class<R> resultType, String baseHql) CriteriaDefinition(EntityManager entityManager, CriteriaQuery<R> baseQuery) CriteriaDefinition(EntityManager entityManager, Class<R> resultType) CriteriaDefinition(EntityManager entityManager, Class<R> resultType, String baseHql) CriteriaDefinition(CriteriaDefinition<?> template, Class<R> resultType) Construct a newCriteriaDefinitionbased on the givenCriteriaDefinition.CriteriaDefinition(CriteriaDefinition<R> template) Construct a newCriteriaDefinitionbased on the givenCriteriaDefinition, with the same query return type.CriteriaDefinition(SessionFactory factory, CriteriaQuery<R> baseQuery) CriteriaDefinition(SessionFactory factory, Class<R> resultType) CriteriaDefinition(SessionFactory factory, Class<R> resultType, String baseHql) CriteriaDefinition(SharedSessionContract session, CriteriaQuery<R> baseQuery) CriteriaDefinition(SharedSessionContract session, Class<R> resultType) CriteriaDefinition(SharedSessionContract session, Class<R> resultType, String baseHql) -
Method Summary
Modifier and TypeMethodDescriptionA query that returns the number of results of this query.A query that returnstrueif this query has any results.createQuery(EntityManager entityManager) createSelectionQuery(QueryProducer session) distinct(boolean distinct) fetch(Number fetch, FetchClauseType fetchClauseType) fetch(JpaExpression<? extends Number> fetch) fetch(JpaExpression<? extends Number> fetch, FetchClauseType fetchClauseType) <X> JpaDerivedRoot<X> Create and add a query root corresponding to the given subquery, forming a cartesian product with any existing roots.<X> JpaRoot<X> from(EntityType<X> entity) <X> JpaRoot<X> <X> JpaRoot<X> from(JpaCteCriteria<X> cte) Create and add a query root corresponding to the given cte, forming a cartesian product with any existing roots.<X> JpaFunctionRoot<X> from(JpaSetReturningFunction<X> function) Create and add a query root corresponding to the given set-returning function, forming a cartesian product with any existing roots.<T> JpaCteCriteria<T> getCteCriteria(String cteName) Returns a CTE that is registered by the given name on this container, or any of its parents.Collection<? extends JpaCteCriteria<?>> Returns the CTEs that are registered on this container.getFetch()List<Expression<?>> The query structure.The query structure.<E> JpaRoot<? extends E> Get a query root element at the given position with the given type.<E> JpaRoot<? extends E> Get a query root element with the given alias and the given type.Return the roots as a list.getRoots()groupBy(Expression... grouping) groupBy(List<Expression<?>> grouping) having(Expression<Boolean> restriction) booleanmultiselect(Selection<?>... selections) Deprecated.multiselect(List<Selection<?>> list) Deprecated.offset(JpaExpression<? extends Number> offset) <U> JpaSubQuery<U> subquery(EntityType<U> type) <U> JpaSubQuery<U> where(Expression<Boolean> restriction) <T> JpaCteCriteria<T> with(AbstractQuery<T> criteria) Registers the givenCriteriaQueryand returns aJpaCteCriteria, which can be used for querying.<T> JpaCteCriteria<T> with(String name, AbstractQuery<T> criteria) LikeJpaCteContainer.with(AbstractQuery)but assigns an explicit CTE name.<T> JpaCteCriteria<T> withRecursiveUnionAll(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) Allows to register a recursive CTE.<T> JpaCteCriteria<T> withRecursiveUnionAll(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) LikeJpaCteContainer.withRecursiveUnionAll(AbstractQuery, Function)but assigns an explicit CTE name.<T> JpaCteCriteria<T> withRecursiveUnionDistinct(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) Allows to register a recursive CTE.<T> JpaCteCriteria<T> withRecursiveUnionDistinct(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) LikeJpaCteContainer.withRecursiveUnionDistinct(AbstractQuery, Function)but assigns an explicit CTE name.Methods inherited from class org.hibernate.query.criteria.spi.HibernateCriteriaBuilderDelegate
abs, acos, addDuration, addDuration, addDuration, all, and, and, and, any, array, array, array, array, arrayAgg, arrayAgg, arrayAgg, arrayAgg, arrayAppend, arrayAppend, arrayConcat, arrayConcat, arrayConcat, arrayContains, arrayContains, arrayContains, arrayContainsAll, arrayContainsAll, arrayContainsAll, arrayContainsAllNullable, arrayContainsAllNullable, arrayContainsAllNullable, arrayContainsNullable, arrayContainsNullable, arrayContainsNullable, arrayFill, arrayFill, arrayFill, arrayFill, arrayGet, arrayGet, arrayIncludes, arrayIncludes, arrayIncludes, arrayIncludesNullable, arrayIncludesNullable, arrayIncludesNullable, arrayIntersects, arrayIntersects, arrayIntersects, arrayIntersectsNullable, arrayIntersectsNullable, arrayIntersectsNullable, arrayLength, arrayLiteral, arrayOverlaps, arrayOverlaps, arrayOverlaps, arrayOverlapsNullable, arrayOverlapsNullable, arrayOverlapsNullable, arrayPosition, arrayPosition, arrayPositions, arrayPositions, arrayPositionsList, arrayPositionsList, arrayPrepend, arrayPrepend, arrayRemove, arrayRemove, arrayRemoveIndex, arrayRemoveIndex, arrayReplace, arrayReplace, arrayReplace, arrayReplace, arraySet, arraySet, arraySet, arraySet, arraySlice, arraySlice, arraySlice, arraySlice, arrayToString, arrayToString, arrayToString, arrayToString, arrayToString, arrayToString, arrayTrim, arrayTrim, asc, asc, asc, asc, asc, asin, atan, atan2, atan2, atan2, avg, avg, avg, avg, between, between, cast, cast, castTarget, castTarget, castTarget, ceiling, coalesce, coalesce, coalesce, collate, collectionAppend, collectionAppend, collectionConcat, collectionConcat, collectionConcat, collectionContains, collectionContains, collectionContains, collectionContainsAll, collectionContainsAll, collectionContainsAll, collectionContainsAllNullable, collectionContainsAllNullable, collectionContainsAllNullable, collectionContainsNullable, collectionContainsNullable, collectionContainsNullable, collectionFill, collectionFill, collectionFill, collectionFill, collectionGet, collectionGet, collectionIncludes, collectionIncludes, collectionIncludes, collectionIncludesNullable, collectionIncludesNullable, collectionIncludesNullable, collectionIntersects, collectionIntersects, collectionIntersects, collectionIntersectsNullable, collectionIntersectsNullable, collectionIntersectsNullable, collectionLength, collectionLiteral, collectionOverlaps, collectionOverlaps, collectionOverlaps, collectionOverlapsNullable, collectionOverlapsNullable, collectionOverlapsNullable, collectionPosition, collectionPosition, collectionPositions, collectionPositions, collectionPositionsList, collectionPositionsList, collectionPrepend, collectionPrepend, collectionRemove, collectionRemove, collectionRemoveIndex, collectionRemoveIndex, collectionReplace, collectionReplace, collectionReplace, collectionReplace, collectionSet, collectionSet, collectionSet, collectionSet, collectionSlice, collectionSlice, collectionSlice, collectionSlice, collectionToString, collectionToString, collectionToString, collectionToString, collectionToString, collectionToString, collectionTrim, collectionTrim, concat, concat, concat, concat, concat, conjunction, construct, construct, cos, cosh, count, count, count, count, count, countDistinct, createCriteriaDelete, createCriteriaInsertSelect, createCriteriaInsertValues, createCriteriaUpdate, createQuery, createQuery, createQuery, createTupleQuery, createWindow, cumeDist, currentDate, currentInstant, currentTime, currentTimestamp, day, degrees, denseRank, desc, desc, desc, desc, desc, diff, diff, diff, disjunction, distinctFrom, distinctFrom, duration, durationBetween, durationBetween, durationByUnit, durationDiff, durationDiff, durationScaled, durationScaled, durationScaled, durationSum, durationSum, equal, equal, except, except, except, except, except, except, exceptAll, exceptAll, exceptAll, exceptAll, exists, exp, extract, firstValue, fk, floor, format, frameBetweenFollowing, frameBetweenFollowing, frameBetweenPreceding, frameBetweenPreceding, frameCurrentRow, frameUnboundedFollowing, frameUnboundedPreceding, function, functionAggregate, functionAggregate, functionAggregate, functionWithinGroup, functionWithinGroup, functionWithinGroup, functionWithinGroup, ge, ge, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateSeries, generateTimeSeries, generateTimeSeries, generateTimeSeries, generateTimeSeries, generateTimeSeries, generateTimeSeries, generateTimeSeries, generateTimeSeries, greaterThan, greaterThan, greaterThanOrEqualTo, greaterThanOrEqualTo, greatest, gt, gt, hour, id, ilike, ilike, ilike, ilike, ilike, ilike, in, in, in, in, indexes, intersect, intersect, intersect, intersect, intersect, intersect, intersectAll, intersectAll, intersectAll, intersectAll, isEmpty, isFalse, isMapEmpty, isMapNotEmpty, isMember, isMember, isNotEmpty, isNotMember, isNotMember, isNotNull, isNull, isTrue, jsonArray, jsonArrayAgg, jsonArrayAgg, jsonArrayAgg, jsonArrayAgg, jsonArrayAggWithNulls, jsonArrayAggWithNulls, jsonArrayAggWithNulls, jsonArrayAggWithNulls, jsonArrayWithNulls, jsonExists, jsonExists, jsonInsert, jsonInsert, jsonInsert, jsonInsert, jsonMergepatch, jsonMergepatch, jsonMergepatch, jsonObject, jsonObjectAgg, jsonObjectAgg, jsonObjectAggWithNulls, jsonObjectAggWithNulls, jsonObjectAggWithUniqueKeys, jsonObjectAggWithUniqueKeys, jsonObjectAggWithUniqueKeysAndNulls, jsonObjectAggWithUniqueKeysAndNulls, jsonObjectWithNulls, jsonQuery, jsonQuery, jsonRemove, jsonRemove, jsonReplace, jsonReplace, jsonReplace, jsonReplace, jsonSet, jsonSet, jsonSet, jsonSet, jsonTable, jsonTable, jsonTable, jsonValue, jsonValue, jsonValue, jsonValue, keys, lastValue, le, le, least, left, left, length, lessThan, lessThan, lessThanOrEqualTo, lessThanOrEqualTo, like, like, like, like, like, like, listagg, listagg, listagg, listagg, listagg, listagg, listagg, listagg, listParameter, listParameter, literal, literals, literals, ln, localDate, localDateTime, localTime, locate, locate, locate, locate, log, log, log10, lower, lt, lt, mapSize, mapSize, max, min, minute, mod, mod, mod, mode, mode, mode, mode, month, named, neg, not, notDistinctFrom, notDistinctFrom, notEqual, notEqual, notIlike, notIlike, notIlike, notIlike, notIlike, notIlike, notLike, notLike, notLike, notLike, notLike, notLike, nthValue, nthValue, nullif, nullif, nullLiteral, or, or, or, overlay, overlay, overlay, overlay, overlay, overlay, overlay, overlay, overlay, overlay, overlay, overlay, pad, pad, pad, pad, pad, pad, pad, pad, pad, pad, pad, pad, parameter, parameter, percentileCont, percentileCont, percentileCont, percentileCont, percentileDisc, percentileDisc, percentileDisc, percentileDisc, percentRank, percentRank, percentRank, percentRank, percentRank, pi, power, power, prod, prod, prod, quot, quot, quot, radians, rank, rank, rank, rank, rank, repeat, repeat, repeat, replace, replace, replace, replace, right, right, round, rowNumber, search, search, search, second, selectCase, selectCase, setReturningFunction, sign, sin, sinh, size, size, some, sort, sort, sort, sort, sort, sort, sql, sqrt, substring, substring, substring, substring, subtractDuration, subtractDuration, subtractDuration, sum, sum, sum, sum, sum, sum, sum, sumAsDouble, sumAsLong, tan, tanh, toBigDecimal, toBigInteger, toDouble, toFloat, toInteger, toLong, toString, treat, treat, treat, treat, treat, treat, treat, trim, trim, trim, trim, trim, trim, truncate, truncate, tuple, tuple, union, union, union, union, union, union, unionAll, unionAll, unionAll, unionAll, unnestArray, unnestCollection, unwrap, upper, value, values, values, values, version, windowFunction, wrap, wrap, xmlagg, xmlagg, xmlagg, xmlagg, xmlcomment, xmlconcat, xmlconcat, xmlelement, xmlexists, xmlexists, xmlforest, xmlforest, xmlpi, xmlpi, xmlquery, xmlquery, xmlTable, xmlTable, year
-
Constructor Details
-
CriteriaDefinition
Construct a newCriteriaDefinitionbased on the givenCriteriaDefinition, with the same query return type.- Parameters:
template- the original query- Since:
- 7.0
-
CriteriaDefinition
Construct a newCriteriaDefinitionbased on the givenCriteriaDefinition. This overload permits changing the query return type. It is expected thatselect(jakarta.persistence.criteria.Selection<? extends R>)be called to rewrite the selection list.- Parameters:
template- the original queryresultType- the new return type- Since:
- 7.0
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
CriteriaDefinition
-
-
Method Details
-
createSelectionQuery
-
createQuery
-
restrict
-
getCriteriaBuilder
- Specified by:
getCriteriaBuilderin interfaceJpaCriteriaQuery<R>- Overrides:
getCriteriaBuilderin classHibernateCriteriaBuilderDelegate
-
select
- Specified by:
selectin interfaceCriteriaQuery<R>- Specified by:
selectin interfaceJpaCriteriaQuery<R>
-
multiselect
Deprecated.- Specified by:
multiselectin interfaceCriteriaQuery<R>- Specified by:
multiselectin interfaceJpaCriteriaQuery<R>
-
multiselect
Deprecated.- Specified by:
multiselectin interfaceCriteriaQuery<R>- Specified by:
multiselectin interfaceJpaCriteriaQuery<R>
-
where
- Specified by:
wherein interfaceAbstractQuery<R>- Specified by:
wherein interfaceCriteriaQuery<R>- Specified by:
wherein interfaceJpaCriteriaQuery<R>- Specified by:
wherein interfaceJpaSelectCriteria<R>
-
where
- Specified by:
wherein interfaceAbstractQuery<R>- Specified by:
wherein interfaceCriteriaQuery<R>- Specified by:
wherein interfaceJpaCriteriaQuery<R>- Specified by:
wherein interfaceJpaSelectCriteria<R>
-
groupBy
- Specified by:
groupByin interfaceAbstractQuery<R>- Specified by:
groupByin interfaceCriteriaQuery<R>- Specified by:
groupByin interfaceJpaCriteriaQuery<R>- Specified by:
groupByin interfaceJpaSelectCriteria<R>
-
groupBy
- Specified by:
groupByin interfaceAbstractQuery<R>- Specified by:
groupByin interfaceCriteriaQuery<R>- Specified by:
groupByin interfaceJpaCriteriaQuery<R>- Specified by:
groupByin interfaceJpaSelectCriteria<R>
-
having
- Specified by:
havingin interfaceAbstractQuery<R>- Specified by:
havingin interfaceCriteriaQuery<R>- Specified by:
havingin interfaceJpaCriteriaQuery<R>- Specified by:
havingin interfaceJpaSelectCriteria<R>
-
having
- Specified by:
havingin interfaceAbstractQuery<R>- Specified by:
havingin interfaceCriteriaQuery<R>- Specified by:
havingin interfaceJpaCriteriaQuery<R>- Specified by:
havingin interfaceJpaSelectCriteria<R>
-
orderBy
- Specified by:
orderByin interfaceCriteriaQuery<R>- Specified by:
orderByin interfaceJpaCriteriaQuery<R>
-
orderBy
- Specified by:
orderByin interfaceCriteriaQuery<R>- Specified by:
orderByin interfaceJpaCriteriaQuery<R>
-
distinct
- Specified by:
distinctin interfaceAbstractQuery<R>- Specified by:
distinctin interfaceCriteriaQuery<R>- Specified by:
distinctin interfaceJpaCriteriaQuery<R>- Specified by:
distinctin interfaceJpaSelectCriteria<R>
-
getOrderList
- Specified by:
getOrderListin interfaceCriteriaQuery<R>
-
getParameters
Description copied from interface:JpaCriteriaQuery- Specified by:
getParametersin interfaceCommonAbstractCriteria- Specified by:
getParametersin interfaceJpaCriteriaQuery<R>
-
from
- Specified by:
fromin interfaceAbstractQuery<R>- Specified by:
fromin interfaceJpaCriteriaQuery<R>- Specified by:
fromin interfaceJpaSelectCriteria<R>
-
from
- Specified by:
fromin interfaceAbstractQuery<R>- Specified by:
fromin interfaceJpaCriteriaQuery<R>- Specified by:
fromin interfaceJpaSelectCriteria<R>
-
subquery
- Specified by:
subqueryin interfaceCommonAbstractCriteria- Specified by:
subqueryin interfaceJpaCriteriaBase
-
getRoots
- Specified by:
getRootsin interfaceAbstractQuery<R>
-
getSelection
- Specified by:
getSelectionin interfaceAbstractQuery<R>- Specified by:
getSelectionin interfaceJpaSelectCriteria<R>
-
getGroupList
- Specified by:
getGroupListin interfaceAbstractQuery<R>
-
getGroupRestriction
- Specified by:
getGroupRestrictionin interfaceAbstractQuery<R>- Specified by:
getGroupRestrictionin interfaceJpaSelectCriteria<R>
-
isDistinct
public boolean isDistinct()- Specified by:
isDistinctin interfaceAbstractQuery<R>
-
getResultType
- Specified by:
getResultTypein interfaceAbstractQuery<R>
-
getRestriction
- Specified by:
getRestrictionin interfaceCommonAbstractCriteria- Specified by:
getRestrictionin interfaceJpaCriteriaBase- Specified by:
getRestrictionin interfaceJpaSelectCriteria<R>
-
where
- Specified by:
wherein interfaceAbstractQuery<R>- Specified by:
wherein interfaceCriteriaQuery<R>- Specified by:
wherein interfaceJpaCriteriaQuery<R>
-
having
- Specified by:
havingin interfaceAbstractQuery<R>- Specified by:
havingin interfaceCriteriaQuery<R>- Specified by:
havingin interfaceJpaCriteriaQuery<R>
-
subquery
- Specified by:
subqueryin interfaceCommonAbstractCriteria- Specified by:
subqueryin interfaceJpaCriteriaQuery<R>
-
getOffset
- Specified by:
getOffsetin interfaceJpaCriteriaQuery<R>
-
offset
- Specified by:
offsetin interfaceJpaCriteriaQuery<R>
-
offset
- Specified by:
offsetin interfaceJpaCriteriaQuery<R>
-
getFetch
- Specified by:
getFetchin interfaceJpaCriteriaQuery<R>
-
fetch
- Specified by:
fetchin interfaceJpaCriteriaQuery<R>
-
fetch
public JpaCriteriaQuery<R> fetch(JpaExpression<? extends Number> fetch, FetchClauseType fetchClauseType) - Specified by:
fetchin interfaceJpaCriteriaQuery<R>
-
fetch
- Specified by:
fetchin interfaceJpaCriteriaQuery<R>
-
fetch
- Specified by:
fetchin interfaceJpaCriteriaQuery<R>
-
getFetchClauseType
- Specified by:
getFetchClauseTypein interfaceJpaCriteriaQuery<R>
-
getRootList
Description copied from interface:JpaCriteriaQueryReturn the roots as a list.- Specified by:
getRootListin interfaceJpaCriteriaQuery<R>
-
getRoot
Description copied from interface:JpaCriteriaQueryGet a query root element at the given position with the given type.- Specified by:
getRootin interfaceJpaCriteriaQuery<R>- Parameters:
position- the position of this root elementtype- the type of the root entity
-
getRoot
Description copied from interface:JpaCriteriaQueryGet a query root element with the given alias and the given type.- Specified by:
getRootin interfaceJpaCriteriaQuery<R>- Parameters:
alias- the identification variable of the root elementtype- the type of the root entity
-
getCteCriterias
Description copied from interface:JpaCteContainerReturns the CTEs that are registered on this container.- Specified by:
getCteCriteriasin interfaceJpaCteContainer
-
getCteCriteria
Description copied from interface:JpaCteContainerReturns a CTE that is registered by the given name on this container, or any of its parents.- Specified by:
getCteCriteriain interfaceJpaCteContainer
-
with
Description copied from interface:JpaCteContainerRegisters the givenCriteriaQueryand returns aJpaCteCriteria, which can be used for querying.- Specified by:
within interfaceJpaCteContainer- See Also:
-
withRecursiveUnionAll
public <T> JpaCteCriteria<T> withRecursiveUnionAll(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerAllows to register a recursive CTE. The baseCriteriaQueryserves for the structure of theJpaCteCriteria, which is made available in the recursive criteria producer function, so that the recursiveCriteriaQueryis able to refer to the CTE again.- Specified by:
withRecursiveUnionAllin interfaceJpaCteContainer- See Also:
-
withRecursiveUnionDistinct
public <T> JpaCteCriteria<T> withRecursiveUnionDistinct(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerAllows to register a recursive CTE. The baseCriteriaQueryserves for the structure of theJpaCteCriteria, which is made available in the recursive criteria producer function, so that the recursiveCriteriaQueryis able to refer to the CTE again.- Specified by:
withRecursiveUnionDistinctin interfaceJpaCteContainer- See Also:
-
with
Description copied from interface:JpaCteContainerLikeJpaCteContainer.with(AbstractQuery)but assigns an explicit CTE name.- Specified by:
within interfaceJpaCteContainer
-
withRecursiveUnionAll
public <T> JpaCteCriteria<T> withRecursiveUnionAll(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerLikeJpaCteContainer.withRecursiveUnionAll(AbstractQuery, Function)but assigns an explicit CTE name.- Specified by:
withRecursiveUnionAllin interfaceJpaCteContainer
-
withRecursiveUnionDistinct
public <T> JpaCteCriteria<T> withRecursiveUnionDistinct(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer) Description copied from interface:JpaCteContainerLikeJpaCteContainer.withRecursiveUnionDistinct(AbstractQuery, Function)but assigns an explicit CTE name.- Specified by:
withRecursiveUnionDistinctin interfaceJpaCteContainer
-
getQuerySpec
Description copied from interface:JpaSelectCriteriaThe query structure. SeeJpaQueryStructurefor details- Specified by:
getQuerySpecin interfaceJpaSelectCriteria<R>
-
getQueryPart
Description copied from interface:JpaSelectCriteriaThe query structure. SeeJpaQueryStructurefor details- Specified by:
getQueryPartin interfaceJpaSelectCriteria<R>
-
from
Description copied from interface:JpaSelectCriteriaCreate and add a query root corresponding to the given subquery, forming a cartesian product with any existing roots.- Specified by:
fromin interfaceJpaSelectCriteria<R>- Parameters:
subquery- the subquery- Returns:
- query root corresponding to the given subquery
-
from
Description copied from interface:JpaSelectCriteriaCreate and add a query root corresponding to the given cte, forming a cartesian product with any existing roots.- Specified by:
fromin interfaceJpaSelectCriteria<R>- Parameters:
cte- the cte criteria- Returns:
- query root corresponding to the given cte
-
from
Description copied from interface:JpaSelectCriteriaCreate and add a query root corresponding to the given set-returning function, forming a cartesian product with any existing roots.- Specified by:
fromin interfaceJpaSelectCriteria<R>- Parameters:
function- the set-returning function- Returns:
- query root corresponding to the given function
-
createCountQuery
Description copied from interface:JpaCriteriaQueryA query that returns the number of results of this query.- Specified by:
createCountQueryin interfaceJpaCriteriaQuery<R>- See Also:
-
createExistsQuery
Description copied from interface:JpaCriteriaQueryA query that returnstrueif this query has any results.- Specified by:
createExistsQueryin interfaceJpaCriteriaQuery<R>
-