Class SqmEntityJoin<T>
- java.lang.Object
-
- org.hibernate.query.sqm.tree.AbstractSqmNode
-
- org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement<T>
-
- org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection<T>
-
- org.hibernate.query.sqm.tree.expression.AbstractSqmExpression<T>
-
- org.hibernate.query.sqm.tree.domain.AbstractSqmPath<T>
-
- org.hibernate.query.sqm.tree.domain.AbstractSqmFrom<O,T>
-
- org.hibernate.query.sqm.tree.domain.AbstractSqmJoin<O,T>
-
- org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin<T,T>
-
- org.hibernate.query.sqm.tree.from.SqmEntityJoin<T>
-
- All Implemented Interfaces:
Expression<T>
,FetchParent<T,T>
,From<T,T>
,Path<T>
,Selection<T>
,TupleElement<T>
,Serializable
,JpaCriteriaNode
,JpaEntityJoin<T>
,JpaExpression<T>
,JpaFetchParent<T,T>
,JpaFrom<T,T>
,JpaJoinedFrom<T,T>
,JpaPath<T>
,JpaSelection<T>
,JpaTupleElement<T>
,SemanticPathPart
,SqmPath<T>
,SqmExpression<T>
,SqmFrom<T,T>
,SqmJoin<T,T>
,SqmQualifiedJoin<T,T>
,SqmSelectableNode<T>
,SqmExpressibleAccessor<T>
,SqmNode
,SqmTypedNode<T>
,SqmVisitableNode
- Direct Known Subclasses:
SqmCorrelatedEntityJoin
,SqmTreatedEntityJoin
public class SqmEntityJoin<T> extends AbstractSqmQualifiedJoin<T,T> implements JpaEntityJoin<T>
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description SqmEntityJoin(EntityDomainType<T> joinedEntityDescriptor, String alias, SqmJoinType joinType, SqmRoot<?> sqmRoot)
protected
SqmEntityJoin(NavigablePath navigablePath, EntityDomainType<T> joinedEntityDescriptor, String alias, SqmJoinType joinType, SqmRoot<?> sqmRoot)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <X> X
accept(SemanticQueryWalker<X> walker)
Accept the walker per visitationSqmEntityJoin<T>
copy(SqmCopyContext context)
SqmCorrelatedEntityJoin<T>
createCorrelation()
SqmRoot<?>
findRoot()
String
getEntityName()
SqmPath<?>
getLhs()
Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joinEntityDomainType<T>
getModel()
EntityDomainType<T>
getReferencedPathSource()
The path source that this path refers to (and that most likely created it).SqmRoot<?>
getRoot()
boolean
isImplicitlySelectable()
When applicable, whether this join should be included in an implicit select clauseSqmEntityJoin<T>
makeCopy(SqmCreationProcessingState creationProcessingState)
SqmEntityJoin<T>
on(Expression<Boolean> restriction)
SqmEntityJoin<T>
on(Predicate... restrictions)
SqmEntityJoin<T>
on(JpaExpression<Boolean> restriction)
SqmEntityJoin<T>
on(JpaPredicate... restrictions)
SqmPath<?>
resolveIndexedAccess(SqmExpression<?> selector, boolean isTerminal, SqmCreationState creationState)
<S extends T>
SqmTreatedEntityJoin<T,S>treatAs(Class<S> treatJavaType)
Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmFrom<?,S>treatAs(Class<S> treatJavaType, String alias)
<S extends T>
SqmTreatedEntityJoin<T,S>treatAs(EntityDomainType<S> treatTarget)
Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmFrom<?,S>treatAs(EntityDomainType<S> treatTarget, String alias)
-
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin
applyRestriction, copyTo, getJoinPredicate, getOn, setJoinPredicate
-
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmJoin
getSqmJoinType
-
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmFrom
addSqmJoin, addTreat, alias, appendHqlString, copyTo, crossJoin, crossJoin, fetch, fetch, fetch, fetch, fetch, fetch, findTreat, getCorrelationParent, getExplicitAlias, getFetches, getJoins, getParentPath, getSqmJoins, getSqmTreats, hasJoins, isCorrelated, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinLateral, joinLateral, joinList, joinList, joinMap, joinMap, joinSet, joinSet, removeLeftFetchJoins, resolvePathPart, setExplicitAlias, visitSqmJoins
-
Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmPath
copyTo, get, get, get, get, getExpressible, getNavigablePath, getNavigablePathCopy, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, getTreatedPath, registerReusablePath, resolvePath, resolvePath, toString, type, visitReusablePaths
-
Methods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder
-
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
getSelectionItems, isCompoundSelection
-
Methods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleType
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface jakarta.persistence.criteria.From
getJoins, isCorrelated
-
Methods inherited from interface org.hibernate.query.criteria.JpaFetchParent
fetch, fetch, fetch, fetch, fetch, fetch, getFetches
-
Methods inherited from interface org.hibernate.query.criteria.JpaFrom
crossJoin, crossJoin, join, join, join, join, join, join, join, join, join, joinLateral, joinLateral
-
Methods inherited from interface org.hibernate.query.criteria.JpaJoinedFrom
getOn
-
Methods inherited from interface org.hibernate.query.criteria.JpaPath
getParentPath
-
Methods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItems
-
Methods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeName, isEnum
-
Methods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelection
-
Methods inherited from interface org.hibernate.query.sqm.tree.expression.SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, in, in, in, in, isNotNull, isNull, visitSubSelectableNodes
-
Methods inherited from interface org.hibernate.query.sqm.tree.from.SqmFrom
addSqmJoin, getCorrelationParent, getSqmJoins, getSqmTreats, hasJoins, hasTreats, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet, visitSqmJoins
-
Methods inherited from interface org.hibernate.query.sqm.tree.from.SqmJoin
getSqmJoinType, join, join
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilder
-
Methods inherited from interface org.hibernate.query.sqm.tree.domain.SqmPath
applyInferableType, get, get, get, get, getExplicitAlias, getJavaTypeDescriptor, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, resolveAlias, resolvePathPart, setExplicitAlias, type, visitReusablePaths
-
Methods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLength
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaType
-
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlString
-
Methods inherited from interface jakarta.persistence.TupleElement
getAlias
-
-
-
-
Constructor Detail
-
SqmEntityJoin
public SqmEntityJoin(EntityDomainType<T> joinedEntityDescriptor, String alias, SqmJoinType joinType, SqmRoot<?> sqmRoot)
-
SqmEntityJoin
protected SqmEntityJoin(NavigablePath navigablePath, EntityDomainType<T> joinedEntityDescriptor, String alias, SqmJoinType joinType, SqmRoot<?> sqmRoot)
-
-
Method Detail
-
isImplicitlySelectable
public boolean isImplicitlySelectable()
Description copied from interface:SqmJoin
When applicable, whether this join should be included in an implicit select clause- Specified by:
isImplicitlySelectable
in interfaceSqmJoin<T,T>
-
copy
public SqmEntityJoin<T> copy(SqmCopyContext context)
- Specified by:
copy
in interfaceSqmExpression<T>
- Specified by:
copy
in interfaceSqmFrom<T,T>
- Specified by:
copy
in interfaceSqmJoin<T,T>
- Specified by:
copy
in interfaceSqmNode
- Specified by:
copy
in interfaceSqmPath<T>
- Specified by:
copy
in interfaceSqmSelectableNode<T>
- Specified by:
copy
in interfaceSqmTypedNode<T>
-
getRoot
public SqmRoot<?> getRoot()
-
resolveIndexedAccess
public SqmPath<?> resolveIndexedAccess(SqmExpression<?> selector, boolean isTerminal, SqmCreationState creationState)
- Specified by:
resolveIndexedAccess
in interfaceSemanticPathPart
- Specified by:
resolveIndexedAccess
in interfaceSqmPath<T>
-
getModel
public EntityDomainType<T> getModel()
- Specified by:
getModel
in interfaceJpaEntityJoin<T>
- Specified by:
getModel
in interfacePath<T>
- Overrides:
getModel
in classAbstractSqmPath<T>
-
getLhs
public SqmPath<?> getLhs()
Description copied from interface:SqmPath
Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-join
-
getReferencedPathSource
public EntityDomainType<T> getReferencedPathSource()
Description copied from interface:SqmPath
The path source that this path refers to (and that most likely created it).- Specified by:
getReferencedPathSource
in interfaceSqmFrom<T,T>
- Specified by:
getReferencedPathSource
in interfaceSqmPath<T>
- Overrides:
getReferencedPathSource
in classAbstractSqmPath<T>
- See Also:
SqmPathSource.createSqmPath(org.hibernate.query.sqm.tree.domain.SqmPath<?>, org.hibernate.query.sqm.SqmPathSource<?>)
-
getEntityName
public String getEntityName()
-
on
public SqmEntityJoin<T> on(JpaExpression<Boolean> restriction)
- Specified by:
on
in interfaceJpaEntityJoin<T>
- Specified by:
on
in interfaceJpaJoinedFrom<T,T>
- Overrides:
on
in classAbstractSqmQualifiedJoin<T,T>
-
on
public SqmEntityJoin<T> on(Expression<Boolean> restriction)
- Specified by:
on
in interfaceJpaEntityJoin<T>
- Specified by:
on
in interfaceJpaJoinedFrom<T,T>
- Overrides:
on
in classAbstractSqmQualifiedJoin<T,T>
-
on
public SqmEntityJoin<T> on(JpaPredicate... restrictions)
- Specified by:
on
in interfaceJpaEntityJoin<T>
- Specified by:
on
in interfaceJpaJoinedFrom<T,T>
- Overrides:
on
in classAbstractSqmQualifiedJoin<T,T>
-
on
public SqmEntityJoin<T> on(Predicate... restrictions)
- Specified by:
on
in interfaceJpaEntityJoin<T>
- Specified by:
on
in interfaceJpaJoinedFrom<T,T>
- Overrides:
on
in classAbstractSqmQualifiedJoin<T,T>
-
accept
public <X> X accept(SemanticQueryWalker<X> walker)
Description copied from interface:SqmVisitableNode
Accept the walker per visitation- Specified by:
accept
in interfaceSqmVisitableNode
-
treatAs
public <S extends T> SqmTreatedEntityJoin<T,S> treatAs(Class<S> treatJavaType) throws PathException
Description copied from interface:JpaPath
Support for JPA's explicit (TREAT) down-casting.
-
treatAs
public <S extends T> SqmTreatedEntityJoin<T,S> treatAs(EntityDomainType<S> treatTarget) throws PathException
Description copied from interface:JpaPath
Support for JPA's explicit (TREAT) down-casting.
-
treatAs
public <S extends T> SqmFrom<?,S> treatAs(EntityDomainType<S> treatTarget, String alias)
-
createCorrelation
public SqmCorrelatedEntityJoin<T> createCorrelation()
- Specified by:
createCorrelation
in classAbstractSqmFrom<T,T>
-
makeCopy
public SqmEntityJoin<T> makeCopy(SqmCreationProcessingState creationProcessingState)
-
-