Class SqmMapJoin<O,K,V>
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<O,T>
org.hibernate.query.sqm.tree.domain.AbstractSqmAttributeJoin<O,E>
org.hibernate.query.sqm.tree.domain.AbstractSqmPluralJoin<O,Map<K,V>,V>
org.hibernate.query.sqm.tree.domain.SqmMapJoin<O,K,V>
- All Implemented Interfaces:
Expression<V>,Fetch<O,,V> FetchParent<O,,V> From<O,,V> Join<O,,V> MapJoin<O,,K, V> Path<V>,PluralJoin<O,,Map<K, V>, V> Selection<V>,TupleElement<V>,Serializable,JpaCriteriaNode,JpaExpression<V>,JpaFetch<O,,V> JpaFetchParent<O,,V> JpaFrom<O,,V> JpaJoin<O,,V> JpaJoinedFrom<O,,V> JpaMapJoin<O,,K, V> JpaPath<V>,JpaPluralJoin<O,,Map<K, V>, V> JpaSelection<V>,JpaTupleElement<V>,SemanticPathPart,SqmPath<V>,SqmExpression<V>,SqmAttributeJoin<O,,V> SqmFrom<O,,V> SqmJoin<O,,V> SqmQualifiedJoin<O,,V> SqmSelectableNode<V>,SqmExpressibleAccessor<V>,SqmNode,SqmTypedNode<V>,SqmVisitableNode
- Direct Known Subclasses:
SqmCorrelatedMapJoin,SqmTreatedMapJoin
public class SqmMapJoin<O,K,V>
extends AbstractSqmPluralJoin<O,Map<K,V>,V>
implements JpaMapJoin<O,K,V>
- Author:
- Steve Ebersole
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionSqmMapJoin(SqmFrom<?, O> lhs, MapPersistentAttribute<O, K, V> pluralValuedNavigable, String alias, SqmJoinType sqmJoinType, boolean fetched, NodeBuilder nodeBuilder) protectedSqmMapJoin(SqmFrom<?, O> lhs, NavigablePath navigablePath, MapPersistentAttribute<O, K, V> pluralValuedNavigable, String alias, SqmJoinType joinType, boolean fetched, NodeBuilder nodeBuilder) -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Accept the walker per visitationSqmMapJoin<O,K, V> copy(SqmCopyContext context) entry()Create an expression that corresponds to the map entry.Return the metamodel attribute corresponding to the fetch join.getModel()Return the bindable object that corresponds to the path expression.key()Create a path expression that corresponds to the map key.SqmMapJoin<O,K, V> makeCopy(SqmCreationProcessingState creationProcessingState) SqmMapJoin<O,K, V> on(Expression<Boolean> restriction) Modify the join to restrict the result according to the specified ON condition and return the join object.SqmMapJoin<O,K, V> Modify the join to restrict the result according to the specified ON condition and return the join object.SqmMapJoin<O,K, V> on(JpaExpression<Boolean> restriction) Add a restriction to the fetch.SqmMapJoin<O,K, V> on(JpaPredicate... restrictions) Add a restriction to the fetch.<S extends V>
SqmTreatedMapJoin<O,K, V, S> Support for JPA's explicit (TREAT) down-casting.<S extends V>
SqmTreatedMapJoin<O,K, V, S> <S extends V>
SqmTreatedMapJoin<O,K, V, S> <S extends V>
SqmTreatedMapJoin<O,K, V, S> treatAs(EntityDomainType<S> treatTarget) Support for JPA's explicit (TREAT) down-casting.<S extends V>
SqmTreatedMapJoin<O,K, V, S> treatAs(EntityDomainType<S> treatTarget, String alias) <S extends V>
SqmTreatedMapJoin<O,K, V, S> treatAs(EntityDomainType<S> treatTarget, String alias, boolean fetch) value()Create a path expression that corresponds to the map value.Methods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmAttributeJoin
alias, clearFetched, getJoinType, getLhs, getNodeJavaType, getParent, isFetchedMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmQualifiedJoin
applyRestriction, copyTo, getJoinPredicate, getOn, setJoinPredicateMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmJoin
getSqmJoinTypeMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmFrom
addSqmJoin, addTreat, 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, visitSqmJoinsMethods inherited from class org.hibernate.query.sqm.tree.domain.AbstractSqmPath
copyTo, get, get, get, get, getExpressible, getNavigablePath, getNavigablePathCopy, getNodeType, getReferencedPathSource, getResolvedModel, getReusablePath, getReusablePaths, getTreatedPath, registerReusablePath, resolvePath, resolvePath, toString, type, visitReusablePathsMethods 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, nodeBuilderMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
getSelectionItems, isCompoundSelectionMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jakarta.persistence.criteria.From
getJoins, isCorrelatedMethods inherited from interface jakarta.persistence.criteria.Join
getJoinType, getOn, getParentMethods inherited from interface org.hibernate.query.criteria.JpaFetch
fetch, fetch, fetch, fetch, fetch, fetch, getFetchesMethods inherited from interface org.hibernate.query.criteria.JpaFrom
crossJoin, crossJoin, join, join, join, join, join, join, join, join, join, joinLateral, joinLateralMethods inherited from interface org.hibernate.query.criteria.JpaJoinedFrom
getOnMethods inherited from interface org.hibernate.query.criteria.JpaPath
getParentPathMethods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeName, isEnumMethods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelectionMethods inherited from interface org.hibernate.query.sqm.tree.from.SqmAttributeJoin
getJavaTypeDescriptor, getJoinPredicate, getReferencedPathSource, isImplicitlySelectable, setJoinPredicateMethods 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, visitSubSelectableNodesMethods 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, visitSqmJoinsMethods inherited from interface org.hibernate.query.sqm.tree.from.SqmJoin
getSqmJoinType, join, joinMethods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilderMethods inherited from interface org.hibernate.query.sqm.tree.domain.SqmPath
applyInferableType, findRoot, get, get, get, get, getExplicitAlias, getNavigablePath, getNodeType, getResolvedModel, getReusablePath, getReusablePaths, registerReusablePath, resolveAlias, resolveIndexedAccess, resolvePathPart, setExplicitAlias, type, visitReusablePathsMethods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLengthMethods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressibleMethods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
appendHqlString, toHqlStringMethods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
SqmMapJoin
public SqmMapJoin(SqmFrom<?, O> lhs, MapPersistentAttribute<O, K, V> pluralValuedNavigable, String alias, SqmJoinType sqmJoinType, boolean fetched, NodeBuilder nodeBuilder)
-
-
Method Details
-
copy
- Specified by:
copyin interfaceSqmExpression<O>- Specified by:
copyin interfaceSqmFrom<O,K> - Specified by:
copyin interfaceSqmJoin<O,K> - Specified by:
copyin interfaceSqmNode- Specified by:
copyin interfaceSqmPath<O>- Specified by:
copyin interfaceSqmSelectableNode<O>- Specified by:
copyin interfaceSqmTypedNode<O>
-
getModel
Description copied from interface:PathReturn the bindable object that corresponds to the path expression. -
accept
Description copied from interface:SqmVisitableNodeAccept the walker per visitation- Specified by:
acceptin interfaceSqmVisitableNode- Overrides:
acceptin classAbstractSqmAttributeJoin<O,V>
-
getAttribute
Description copied from interface:FetchReturn the metamodel attribute corresponding to the fetch join.- Specified by:
getAttributein interfaceFetch<O,K> - Specified by:
getAttributein interfaceJoin<O,K> - Specified by:
getAttributein interfaceJpaJoin<O,K> - Specified by:
getAttributein interfaceJpaPluralJoin<O,K, V> - Overrides:
getAttributein classAbstractSqmAttributeJoin<O,V> - Returns:
- metamodel attribute for the join
-
key
Description copied from interface:MapJoinCreate a path expression that corresponds to the map key. -
value
Description copied from interface:MapJoinCreate a path expression that corresponds to the map value. This method is for stylistic use only: it just returns this. -
entry
Description copied from interface:MapJoinCreate an expression that corresponds to the map entry. -
on
Description copied from interface:JpaFetchAdd a restriction to the fetch. -
on
Description copied from interface:JoinModify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.- Specified by:
onin interfaceJoin<O,K> - Specified by:
onin interfaceJpaJoin<O,K> - Specified by:
onin interfaceJpaJoinedFrom<O,K> - Specified by:
onin interfaceJpaMapJoin<O,K, V> - Specified by:
onin interfaceJpaPluralJoin<O,K, V> - Specified by:
onin interfaceMapJoin<O,K, V> - Overrides:
onin classAbstractSqmAttributeJoin<O,V> - Parameters:
restriction- a simple or compound boolean expression- Returns:
- the modified join object
-
on
Description copied from interface:JpaFetchAdd a restriction to the fetch. -
on
Description copied from interface:JoinModify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.- Specified by:
onin interfaceJoin<O,K> - Specified by:
onin interfaceJpaJoin<O,K> - Specified by:
onin interfaceJpaJoinedFrom<O,K> - Specified by:
onin interfaceJpaMapJoin<O,K, V> - Specified by:
onin interfaceJpaPluralJoin<O,K, V> - Specified by:
onin interfaceMapJoin<O,K, V> - Overrides:
onin classAbstractSqmAttributeJoin<O,V> - Parameters:
restrictions- zero or more restriction predicates- Returns:
- the modified join object
-
createCorrelation
- Specified by:
createCorrelationin classAbstractSqmFrom<O,V>
-
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting.- Specified by:
treatAsin interfaceJpaJoin<O,K> - Specified by:
treatAsin interfaceJpaMapJoin<O,K, V> - Specified by:
treatAsin interfaceJpaPath<O>- Specified by:
treatAsin interfaceJpaPluralJoin<O,K, V> - Specified by:
treatAsin interfaceSqmAttributeJoin<O,K> - Specified by:
treatAsin interfaceSqmFrom<O,K> - Specified by:
treatAsin interfaceSqmPath<O>
-
treatAs
Description copied from interface:JpaPathSupport for JPA's explicit (TREAT) down-casting.- Specified by:
treatAsin interfaceJpaJoin<O,K> - Specified by:
treatAsin interfaceJpaMapJoin<O,K, V> - Specified by:
treatAsin interfaceJpaPath<O>- Specified by:
treatAsin interfaceJpaPluralJoin<O,K, V> - Specified by:
treatAsin interfaceSqmAttributeJoin<O,K> - Specified by:
treatAsin interfaceSqmFrom<O,K> - Specified by:
treatAsin interfaceSqmPath<O>
-
treatAs
-
treatAs
public <S extends V> SqmTreatedMapJoin<O,K, treatAsV, S> (EntityDomainType<S> treatTarget, String alias) -
treatAs
public <S extends V> SqmTreatedMapJoin<O,K, treatAsV, S> (Class<S> treatJavaType, String alias, boolean fetch) - Specified by:
treatAsin interfaceSqmAttributeJoin<O,K>
-
treatAs
public <S extends V> SqmTreatedMapJoin<O,K, treatAsV, S> (EntityDomainType<S> treatTarget, String alias, boolean fetch) - Specified by:
treatAsin interfaceSqmAttributeJoin<O,K>
-
makeCopy
- Specified by:
makeCopyin interfaceSqmAttributeJoin<O,K>
-