Top Description Methods
org.hibernate.query.criteria

public Interface JpaCteContainer

extends JpaCriteriaNode
Known Direct Subinterfaces
org.hibernate.query.criteria.JpaQueryableCriteria, org.hibernate.query.criteria.JpaSubQuery, org.hibernate.query.sqm.tree.cte.SqmCteContainer
Annotations
@Incubating
Imports
java.util.Collection, java.util.function.Function, org.hibernate.Incubating, org.hibernate.query.sqm.tree.SqmJoinType, jakarta.persistence.criteria.AbstractQuery, .CriteriaQuery

Common contract for criteria parts that can hold CTEs (common table expressions).

Method Summary

Modifier and TypeMethod and Description
public <T> JpaCteCriteria<T>
getCteCriteria(String cteName)

Returns a CTE that is registered by the given name on this container, or any of its parents.

public Collection<? extends JpaCteCriteria<?>>
getCteCriterias()

Returns the CTEs that are registered on this container.

public <T> JpaCteCriteria<T>
with(AbstractQuery<T> criteria)

Registers the given CriteriaQuery and returns a JpaCteCriteria, which can be used for querying.

public <T> JpaCteCriteria<T>
with(String name, AbstractQuery<T> criteria)

Like with(AbstractQuery) but assigns an explicit CTE name.

public <T> JpaCteCriteria<T>
withRecursiveUnionAll(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Allows to register a recursive CTE.

public <T> JpaCteCriteria<T>
withRecursiveUnionAll(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Like withRecursiveUnionAll(AbstractQuery, Function) but assigns an explicit CTE name.

public <T> JpaCteCriteria<T>
withRecursiveUnionDistinct(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Allows to register a recursive CTE.

public <T> JpaCteCriteria<T>
withRecursiveUnionDistinct(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Like withRecursiveUnionDistinct(AbstractQuery, Function) but assigns an explicit CTE name.

Method Detail

getCteCriteriaback to summary
public <T> JpaCteCriteria<T> getCteCriteria(String cteName)

Returns a CTE that is registered by the given name on this container, or any of its parents.

getCteCriteriasback to summary
public Collection<? extends JpaCteCriteria<?>> getCteCriterias()

Returns the CTEs that are registered on this container.

withback to summary
public <T> JpaCteCriteria<T> with(AbstractQuery<T> criteria)

Registers the given CriteriaQuery and returns a JpaCteCriteria, which can be used for querying.

See Also
JpaCriteriaQuery#from(JpaCteCriteria), JpaFrom#join(JpaCteCriteria, SqmJoinType)
withback to summary
public <T> JpaCteCriteria<T> with(String name, AbstractQuery<T> criteria)

Like with(AbstractQuery) but assigns an explicit CTE name.

withRecursiveUnionAllback to summary
public <T> JpaCteCriteria<T> withRecursiveUnionAll(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Allows to register a recursive CTE. The base CriteriaQuery serves for the structure of the JpaCteCriteria, which is made available in the recursive criteria producer function, so that the recursive CriteriaQuery is able to refer to the CTE again.

See Also
JpaCriteriaQuery#from(JpaCteCriteria), JpaFrom#join(JpaCteCriteria, SqmJoinType)
withRecursiveUnionAllback to summary
public <T> JpaCteCriteria<T> withRecursiveUnionAll(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Like withRecursiveUnionAll(AbstractQuery, Function) but assigns an explicit CTE name.

withRecursiveUnionDistinctback to summary
public <T> JpaCteCriteria<T> withRecursiveUnionDistinct(AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Allows to register a recursive CTE. The base CriteriaQuery serves for the structure of the JpaCteCriteria, which is made available in the recursive criteria producer function, so that the recursive CriteriaQuery is able to refer to the CTE again.

See Also
JpaCriteriaQuery#from(JpaCteCriteria), JpaFrom#join(JpaCteCriteria, SqmJoinType)
withRecursiveUnionDistinctback to summary
public <T> JpaCteCriteria<T> withRecursiveUnionDistinct(String name, AbstractQuery<T> baseCriteria, Function<JpaCteCriteria<T>, AbstractQuery<T>> recursiveCriteriaProducer)

Like withRecursiveUnionDistinct(AbstractQuery, Function) but assigns an explicit CTE name.