Top Fields Constructors Methods
org.hibernate.query.sqm.tree.from

public Class SqmDerivedJoin<T>

extends AbstractSqmQualifiedJoin<T, T>
implements JpaDerivedJoin<T>
Class Inheritance
All Implemented Interfaces
org.hibernate.query.criteria.JpaDerivedJoin, org.hibernate.query.criteria.JpaJoinedFrom, org.hibernate.query.criteria.JpaFrom, jakarta.persistence.criteria.From, jakarta.persistence.criteria.FetchParent, jakarta.persistence.criteria.Path, jakarta.persistence.criteria.Expression, jakarta.persistence.criteria.Selection, jakarta.persistence.TupleElement, org.hibernate.query.criteria.JpaFetchParent, org.hibernate.query.criteria.JpaPath, org.hibernate.query.criteria.JpaExpression, org.hibernate.query.criteria.JpaSelection, org.hibernate.query.criteria.JpaTupleElement, org.hibernate.query.criteria.JpaCriteriaNode, java.io.Serializable, org.hibernate.query.criteria.JpaDerivedFrom
Annotations
@Incubating
Imports
org.hibernate.Incubating, org.hibernate.metamodel.model.domain.EntityDomainType, org.hibernate.query.PathException, org.hibernate.query.criteria.JpaDerivedJoin, .JpaExpression, .JpaPredicate, org.hibernate.query.derived.AnonymousTupleType, org.hibernate.query.sqm.SemanticQueryWalker, .SqmPathSource, org.hibernate.query.sqm.spi.SqmCreationHelper, org.hibernate.query.sqm.tree.SqmCopyContext, .SqmJoinType, org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin, .SqmCorrelatedEntityJoin, .SqmPath, org.hibernate.query.sqm.tree.select.SqmSubQuery, org.hibernate.spi.NavigablePath, jakarta.persistence.criteria.Expression, .Predicate

Author
Christian Beikov

Field Summary

Modifier and TypeField and Description
private final boolean
private final SqmSubQuery<T>

Constructor Summary

AccessConstructor and Description
public
SqmDerivedJoin(SqmSubQuery<T> subQuery, String alias, SqmJoinType joinType, boolean lateral, SqmRoot<?> sqmRoot)

protected
SqmDerivedJoin(NavigablePath navigablePath, SqmSubQuery<T> subQuery, boolean lateral, SqmPathSource<T> pathSource, String alias, SqmJoinType joinType, SqmRoot<?> sqmRoot)

Method Summary

Modifier and TypeMethod and Description
public <X> X
accept(SemanticQueryWalker<X> walker)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Accept the walker per visitation
public SqmDerivedJoin<T>
public SqmCorrelatedEntityJoin<T>
public SqmRoot<?>
public SqmPath<?>
public SqmSubQuery<T>
getQueryPart()

Implements org.hibernate.query.criteria.JpaDerivedFrom.getQueryPart.

The subquery part for this derived from node.
public SqmRoot<?>
public boolean
isImplicitlySelectable()

Implements org.hibernate.query.sqm.tree.from.SqmJoin.isImplicitlySelectable.

When applicable, whether this join should be included in an implicit select clause
public boolean
isLateral()

Implements org.hibernate.query.criteria.JpaDerivedJoin.isLateral.

Specifies whether the subquery part can access previous from node aliases.
public SqmDerivedJoin<T>
public SqmDerivedJoin<T>
public SqmDerivedJoin<T>
public SqmDerivedJoin<T>
public <S extends T> SqmFrom<?, S>
public <S extends T> SqmFrom<?, S>
public <S extends T> SqmFrom<?, S>
public <S extends T> SqmFrom<?, S>
private static SqmJoinType
validateJoinType(SqmJoinType joinType, boolean lateral)

Inherited from org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin:
applyRestrictioncopyTogetJoinPredicategetOnsetJoinPredicate

Field Detail

lateralback to summary
private final boolean lateral
subQueryback to summary
private final SqmSubQuery<T> subQuery

Constructor Detail

SqmDerivedJoinback to summary
public SqmDerivedJoin(SqmSubQuery<T> subQuery, String alias, SqmJoinType joinType, boolean lateral, SqmRoot<?> sqmRoot)
SqmDerivedJoinback to summary
protected SqmDerivedJoin(NavigablePath navigablePath, SqmSubQuery<T> subQuery, boolean lateral, SqmPathSource<T> pathSource, String alias, SqmJoinType joinType, SqmRoot<?> sqmRoot)

Method Detail

acceptback to summary
public <X> X accept(SemanticQueryWalker<X> walker)

Implements org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Doc from org.hibernate.query.sqm.tree.SqmVisitableNode.accept.

Accept the walker per visitation

Annotations
@Override
copyback to summary
public SqmDerivedJoin<T> copy(SqmCopyContext context)

Implements org.hibernate.query.sqm.tree.from.SqmJoin.copy, org.hibernate.query.sqm.tree.from.SqmFrom.copy, org.hibernate.query.sqm.tree.domain.SqmPath.copy, org.hibernate.query.sqm.tree.expression.SqmExpression.copy, org.hibernate.query.sqm.tree.select.SqmSelectableNode.copy, org.hibernate.query.sqm.tree.SqmNode.copy.

Annotations
@Override
createCorrelationback to summary
public SqmCorrelatedEntityJoin<T> createCorrelation()

Implements abstract org.hibernate.query.sqm.tree.domain.AbstractSqmFrom.createCorrelation.

Annotations
@Override
findRootback to summary
public SqmRoot<?> findRoot()

Overrides default org.hibernate.query.sqm.tree.domain.SqmPath.findRoot.

Annotations
@Override
getLhsback to summary
public SqmPath<?> getLhs()

Overrides org.hibernate.query.sqm.tree.domain.AbstractSqmPath.getLhs.

Implements org.hibernate.query.criteria.JpaPath.getLhs, org.hibernate.query.sqm.tree.domain.SqmPath.getLhs.

Doc from org.hibernate.query.criteria.JpaPath.getLhs.

The source (think "left hand side") of this path

Annotations
@Override
getQueryPartback to summary
public SqmSubQuery<T> getQueryPart()

Implements org.hibernate.query.criteria.JpaDerivedFrom.getQueryPart.

Doc from org.hibernate.query.criteria.JpaDerivedFrom.getQueryPart.

The subquery part for this derived from node.

Annotations
@Override
getRootback to summary
public SqmRoot<?> getRoot()
isImplicitlySelectableback to summary
public boolean isImplicitlySelectable()

Implements org.hibernate.query.sqm.tree.from.SqmJoin.isImplicitlySelectable.

Doc from org.hibernate.query.sqm.tree.from.SqmJoin.isImplicitlySelectable.

When applicable, whether this join should be included in an implicit select clause

Annotations
@Override
isLateralback to summary
public boolean isLateral()

Implements org.hibernate.query.criteria.JpaDerivedJoin.isLateral.

Doc from org.hibernate.query.criteria.JpaDerivedJoin.isLateral.

Specifies whether the subquery part can access previous from node aliases. Normally, subqueries in the from clause are unable to access other from nodes, but when specifying them as lateral, they are allowed to do so. Refer to the SQL standard definition of LATERAL for more details.

Annotations
@Override
onback to summary
public SqmDerivedJoin<T> on(JpaExpression<Boolean> restriction)

Overrides org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin.on.

Implements org.hibernate.query.criteria.JpaDerivedJoin.on, org.hibernate.query.criteria.JpaJoinedFrom.on.

Annotations
@Override
onback to summary
public SqmDerivedJoin<T> on(Expression<Boolean> restriction)

Overrides org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin.on.

Implements org.hibernate.query.criteria.JpaDerivedJoin.on, org.hibernate.query.criteria.JpaJoinedFrom.on.

Annotations
@Override
onback to summary
public SqmDerivedJoin<T> on(JpaPredicate... restrictions)

Overrides org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin.on.

Implements org.hibernate.query.criteria.JpaDerivedJoin.on, org.hibernate.query.criteria.JpaJoinedFrom.on.

Annotations
@Override
onback to summary
public SqmDerivedJoin<T> on(Predicate... restrictions)

Overrides org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin.on.

Implements org.hibernate.query.criteria.JpaDerivedJoin.on, org.hibernate.query.criteria.JpaJoinedFrom.on.

Annotations
@Override
treatAsback to summary
public <S extends T> SqmFrom<?, S> treatAs(Class<S> treatJavaType) throws PathException

Implements org.hibernate.query.criteria.JpaPath.treatAs, org.hibernate.query.sqm.tree.from.SqmFrom.treatAs, org.hibernate.query.sqm.tree.domain.SqmPath.treatAs.

Doc from org.hibernate.query.criteria.JpaPath.treatAs.

Support for JPA's explicit (TREAT) down-casting.

Annotations
@Override
treatAsback to summary
public <S extends T> SqmFrom<?, S> treatAs(EntityDomainType<S> treatTarget) throws PathException

Implements org.hibernate.query.criteria.JpaPath.treatAs, org.hibernate.query.sqm.tree.from.SqmFrom.treatAs, org.hibernate.query.sqm.tree.domain.SqmPath.treatAs.

Doc from org.hibernate.query.criteria.JpaPath.treatAs.

Support for JPA's explicit (TREAT) down-casting.

Annotations
@Override
treatAsback to summary
public <S extends T> SqmFrom<?, S> treatAs(Class<S> treatJavaType, String alias)

Implements org.hibernate.query.sqm.tree.from.SqmFrom.treatAs.

Annotations
@Override
treatAsback to summary
public <S extends T> SqmFrom<?, S> treatAs(EntityDomainType<S> treatTarget, String alias)

Implements org.hibernate.query.sqm.tree.from.SqmFrom.treatAs.

Annotations
@Override
validateJoinTypeback to summary
private static SqmJoinType validateJoinType(SqmJoinType joinType, boolean lateral)