Interface SqmAttributeJoin<O,T>
- All Superinterfaces:
Expression<T>, Fetch<O,T>, FetchParent<O, T>, From<O, T>, Join<O, T>, JpaCriteriaNode, JpaExpression<T>, JpaFetch<O, T>, JpaFetchParent<O, T>, JpaFrom<O, T>, JpaJoin<O, T>, JpaPath<T>, JpaSelection<T>, JpaTupleElement<T>, Path<T>, Selection<T>, SemanticPathPart, Serializable, SqmCacheable, SqmExpressibleAccessor<T>, SqmExpression<T>, SqmFrom<O, T>, SqmJoin<O, T>, SqmNode, SqmPath<T>, SqmSelectableNode<T>, SqmTypedNode<T>, SqmVisitableNode, TupleElement<T>
- All Known Subinterfaces:
SqmTreatedAttributeJoin<L,R, R1>
- All Known Implementing Classes:
AbstractSqmAttributeJoin, AbstractSqmPluralJoin, SqmBagJoin, SqmCorrelatedBagJoin, SqmCorrelatedListJoin, SqmCorrelatedMapJoin, SqmCorrelatedSetJoin, SqmCorrelatedSingularJoin, SqmListJoin, SqmMapJoin, SqmSetJoin, SqmSingularJoin, SqmTreatedBagJoin, SqmTreatedListJoin, SqmTreatedMapJoin, SqmTreatedSetJoin, SqmTreatedSingularJoin
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoidcopy(SqmCopyContext context) PersistentAttribute<? super O, ?> Return the joined attribute.Return the Java type of this tuple element.Obtain the join predicategetLhs()Get the left-hand side of this path - may be null, indicating a root, cross-join or entity-joinThe Navigable for an SqmFrom will always be a NavigableContainer The Navigable for an SqmFrom will always be a NavigableContainer The path source that this path refers to (and that most likely created it).booleanIs this a fetch join?booleanIs this an implicit join inferred from a path expression?default booleanWhen applicable, whether this join should be included in an implicit select clauseon(Expression<Boolean> restriction) Set the join restriction.on(List<? extends Expression<Boolean>> restrictions) Set the join restriction.on(JpaExpression<Boolean> restriction) Add a restriction to the fetch.on(JpaPredicate... restrictions) Add a restriction to the fetch.voidsetJoinPredicate(SqmPredicate predicate) Inject the join predicate<S extends T>
SqmTreatedAttributeJoin<O, T, S> Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmTreatedAttributeJoin<O, T, S> <S extends T>
SqmTreatedAttributeJoin<O, T, S> <S extends T>
SqmTreatedAttributeJoin<O, T, S> treatAs(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.<S extends T>
SqmTreatedAttributeJoin<O, T, S> treatAs(EntityDomainType<S> treatTarget, String alias) <S extends T>
SqmTreatedAttributeJoin<O, T, S> treatAs(EntityDomainType<S> treatTarget, String alias, boolean fetch) Methods inherited from interface Fetch
getJoinType, getParentMethods inherited from interface From
getJoinList, getJoins, isCorrelatedMethods inherited from interface Join
getJoinType, getParentMethods inherited from interface JpaExpression
coalesce, coalesce, count, countDistinct, in, isMember, isNotMember, nullif, nullif, selectCase, selectCaseMethods inherited from interface JpaFrom
id, join, join, join, join, join, join, join, join, joinArray, joinArray, joinArray, joinArray, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinArrayCollection, joinLateral, joinLateral, joinLateralMethods inherited from interface JpaPath
getParentPathMethods inherited from interface JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface JpaTupleElement
getJavaType, getJavaTypeIfKnown, getJavaTypeName, isEnumMethods inherited from interface Selection
isCompoundSelectionMethods inherited from interface SqmCacheable
cacheHashCode, isCompatibleMethods inherited from interface SqmExpression
as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, in, in, in, in, isNotNull, isNull, notEqualTo, notEqualTo, visitSubSelectableNodesMethods inherited from interface SqmFrom
addSqmJoin, deepEquals, getCorrelationParent, getNumberOfJoins, getSqmJoins, getSqmTreats, hasImplicitlySelectableJoin, hasJoins, hasTreats, isDeepCompatible, join, join, resolveAlias, visitSqmJoinsMethods inherited from interface SqmJoin
crossJoin, crossJoin, getOn, getSqmJoinType, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinLateral, joinList, joinList, joinMap, joinMap, joinSet, joinSet, onMethods inherited from interface SqmNode
asLoggableText, nodeBuilderMethods inherited from interface SqmPath
applyInferableType, findRoot, get, get, get, get, get, getExplicitAlias, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, resolveIndexedAccess, resolvePathPart, setExplicitAlias, type, visitReusablePathsMethods inherited from interface SqmSelectableNode
getTupleLengthMethods inherited from interface SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface SqmVisitableNode
accept, appendHqlString, toHqlStringMethods inherited from interface TupleElement
getAlias
-
Method Details
-
getAttribute
Description copied from interface:JpaJoinReturn the joined attribute.- Specified by:
getAttributein interfaceFetch<O,T> - Specified by:
getAttributein interfaceJoin<O,T> - Specified by:
getAttributein interfaceJpaJoin<O,T>
-
getLhs
-
isImplicitlySelectable
default boolean isImplicitlySelectable()Description copied from interface:SqmJoinWhen applicable, whether this join should be included in an implicit select clause- Specified by:
isImplicitlySelectablein interfaceSqmJoin<O,T>
-
getReferencedPathSource
Description copied from interface:SqmFromThe Navigable for an SqmFrom will always be a NavigableContainer The path source that this path refers to (and that most likely created it).- Specified by:
getReferencedPathSourcein interfaceSqmFrom<O,T> - Specified by:
getReferencedPathSourcein interfaceSqmPath<O>- Returns:
- See Also:
-
getJavaTypeDescriptor
Description copied from interface:JpaTupleElementReturn the Java type of this tuple element.- Specified by:
getJavaTypeDescriptorin interfaceJpaTupleElement<O>- Specified by:
getJavaTypeDescriptorin interfaceSqmPath<O>
-
isFetched
boolean isFetched()Is this a fetch join? -
isImplicitJoin
boolean isImplicitJoin()Is this an implicit join inferred from a path expression? -
clearFetched
-
getJoinPredicate
Description copied from interface:SqmJoinObtain the join predicate- Specified by:
getJoinPredicatein interfaceSqmJoin<O,T> - Returns:
- The join predicate
-
setJoinPredicate
Description copied from interface:SqmJoinInject the join predicate- Specified by:
setJoinPredicatein interfaceSqmJoin<O,T> - Parameters:
predicate- The join predicate
-
on
-
on
-
on
-
on
-
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting. -
treatAs
-
treatAs
@Nonnull <S extends T> SqmTreatedAttributeJoin<O,T, treatAsS> (@Nonnull EntityDomainType<S> treatTarget) Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting. -
treatAs
-
treatAs
-
treatAs
-
copy
- Specified by:
copyin interfaceSqmExpression<O>- Specified by:
copyin interfaceSqmFrom<O,T> - Specified by:
copyin interfaceSqmJoin<O,T> - Specified by:
copyin interfaceSqmNode- Specified by:
copyin interfaceSqmPath<O>- Specified by:
copyin interfaceSqmSelectableNode<O>- Specified by:
copyin interfaceSqmTypedNode<O>
-