Top Description Fields Constructors Methods
org.hibernate.query.criteria.internal

public Class QueryStructure<T>

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.io.Serializable, java.util.ArrayList, .Arrays, .Collection, .Collections, .HashSet, .LinkedHashSet, .List, .Set, javax.persistence.criteria.AbstractQuery, .Expression, .Fetch, .From, .Join, .JoinType, .ParameterExpression, .Predicate, .Root, .Selection, .Subquery, javax.persistence.metamodel.EntityType, org.hibernate.query.criteria.internal.compile.RenderingContext, org.hibernate.query.criteria.internal.path.RootImpl, .RootImpl.TreatedRoot, org.hibernate.sql.ast.Clause

Models basic query structure. Used as a delegate in implementing both javax.persistence.criteria.CriteriaQuery and javax.persistence.criteria.Subquery.

Note the ORDER BY specs are neglected here. That's because it is not valid for a subquery to define an ORDER BY clause. So we just handle them on the root query directly...

Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private Set<FromImplementor<Z, X>>
private final CriteriaBuilderImpl
private boolean
private List<Expression<?>>
private Predicate
private final boolean
private final AbstractQuery<T>
private Predicate
private Set<Root<?>>
private Selection<? extends T>
private List<Subquery<?>>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addCorrelationRoot(FromImplementor<Z, X> fromImplementor)

public Set<Join<?, ?>>
public <X> Root<X>
from(Class<X> entityClass)

public <X> Root<X>
from(EntityType<X> entityType)

private String
public List<Expression<?>>
public Predicate
public Set<ParameterExpression<?>>
public Predicate
public Set<Root<?>>
public Selection<? extends T>
public List<Subquery<?>>
public List<Subquery<?>>
public boolean
private FromImplementor<Z, X>
public void
render(StringBuilder jpaqlQuery, RenderingContext renderingContext)

private void
renderFetches(StringBuilder jpaqlQuery, RenderingContext renderingContext, Collection<? extends Fetch<Z, X>> fetches)

private void
renderFromClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)

protected void
renderGroupByClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)

private void
renderHavingClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)

private void
renderJoins(StringBuilder jpaqlQuery, RenderingContext renderingContext, Collection<? extends Join<?, ?>> joins)

private String
protected void
renderSelectClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)

protected void
renderWhereClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)

public void
setDistinct(boolean distinct)

public void
setGroupings(List<Expression<?>> groupings)

public void
setGroupings(Expression<?>... groupings)

public void
public void
public void
setSelection(Selection<? extends T> selection)

public <U> Subquery<U>
subquery(Class<U> subqueryType)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

correlationRootsback to summary
private Set<FromImplementor<Z, X>> correlationRoots
criteriaBuilderback to summary
private final CriteriaBuilderImpl criteriaBuilder
distinctback to summary
private boolean distinct
groupingsback to summary
private List<Expression<?>> groupings
havingback to summary
private Predicate having
isSubQueryback to summary
private final boolean isSubQuery
ownerback to summary
private final AbstractQuery<T> owner
restrictionback to summary
private Predicate restriction
rootsback to summary
private Set<Root<?>> roots
selectionback to summary
private Selection<? extends T> selection
subqueriesback to summary
private List<Subquery<?>> subqueries

Constructor Detail

QueryStructureback to summary
public QueryStructure(AbstractQuery<T> owner, CriteriaBuilderImpl criteriaBuilder)

Method Detail

addCorrelationRootback to summary
public void addCorrelationRoot(FromImplementor<Z, X> fromImplementor)
collectCorrelatedJoinsback to summary
public Set<Join<?, ?>> collectCorrelatedJoins()
fromback to summary
public <X> Root<X> from(Class<X> entityClass)
fromback to summary
public <X> Root<X> from(EntityType<X> entityType)
getCorrelationRestrictionsWhereFragmentback to summary
private String getCorrelationRestrictionsWhereFragment()
getGroupingsback to summary
public List<Expression<?>> getGroupings()
getHavingback to summary
public Predicate getHaving()
getParametersback to summary
public Set<ParameterExpression<?>> getParameters()
getRestrictionback to summary
public Predicate getRestriction()
getRootsback to summary
public Set<Root<?>> getRoots()
getSelectionback to summary
public Selection<? extends T> getSelection()
getSubqueriesback to summary
public List<Subquery<?>> getSubqueries()
internalGetSubqueriesback to summary
public List<Subquery<?>> internalGetSubqueries()
isDistinctback to summary
public boolean isDistinct()
locateImplicitSelectionback to summary
private FromImplementor<Z, X> locateImplicitSelection()
renderback to summary
public void render(StringBuilder jpaqlQuery, RenderingContext renderingContext)
Annotations
@SuppressWarnings:unchecked
renderFetchesback to summary
private void renderFetches(StringBuilder jpaqlQuery, RenderingContext renderingContext, Collection<? extends Fetch<Z, X>> fetches)
Annotations
@SuppressWarnings:unchecked
renderFromClauseback to summary
private void renderFromClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)
Annotations
@SuppressWarnings:unchecked
renderGroupByClauseback to summary
protected void renderGroupByClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)
renderHavingClauseback to summary
private void renderHavingClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)
renderJoinsback to summary
private void renderJoins(StringBuilder jpaqlQuery, RenderingContext renderingContext, Collection<? extends Join<?, ?>> joins)
Annotations
@SuppressWarnings:unchecked
renderJoinTypeback to summary
private String renderJoinType(JoinType joinType)
renderSelectClauseback to summary
protected void renderSelectClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)
renderWhereClauseback to summary
protected void renderWhereClause(StringBuilder jpaqlQuery, RenderingContext renderingContext)
setDistinctback to summary
public void setDistinct(boolean distinct)
setGroupingsback to summary
public void setGroupings(List<Expression<?>> groupings)
setGroupingsback to summary
public void setGroupings(Expression<?>... groupings)
setHavingback to summary
public void setHaving(Predicate having)
setRestrictionback to summary
public void setRestriction(Predicate restriction)
setSelectionback to summary
public void setSelection(Selection<? extends T> selection)
subqueryback to summary
public <U> Subquery<U> subquery(Class<U> subqueryType)