Class SqmJpaCriteriaParameterWrapper<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.expression.SqmJpaCriteriaParameterWrapper<T>
- All Implemented Interfaces:
Expression<T>,ParameterExpression<T>,Selection<T>,Parameter<T>,TupleElement<T>,Serializable,Comparable<SqmParameter<T>>,JpaCriteriaNode,JpaExpression<T>,JpaParameterExpression<T>,JpaSelection<T>,JpaTupleElement<T>,SqmExpression<T>,SqmParameter<T>,SqmSelectableNode<T>,SqmExpressibleAccessor<T>,SqmNode,SqmTypedNode<T>,SqmVisitableNode
public class SqmJpaCriteriaParameterWrapper<T>
extends AbstractSqmExpression<T>
implements SqmParameter<T>
Acts as the per-use wrapper for a
JpaCriteriaParameter
(CriteriaBuilder.parameter(java.lang.Class<T>)).
JpaCriteriaParameter is the "domain query parameter"
(QueryParameter while
SqmJpaCriteriaParameterWrapper is the SqmParameter
- See Also:
-
Field Summary
Fields inherited from interface org.hibernate.query.sqm.tree.expression.SqmParameter
COMPARATOR -
Constructor Summary
ConstructorsConstructorDescriptionSqmJpaCriteriaParameterWrapper(BindableType<T> type, JpaCriteriaParameter<T> jpaCriteriaParameter, int criteriaParameterId, int unnamedParameterId, NodeBuilder criteriaBuilder) -
Method Summary
Modifier and TypeMethodDescription<X> Xaccept(SemanticQueryWalker<X> walker) Unsupported.booleanCan a collection/array of values be bound to this parameter?voidappendHqlString(StringBuilder hql, SqmRenderContext context) intcompareTo(SqmParameter<T> anotherParameter) copy()Make a copycopy(SqmCopyContext context) final booleanBased on the context it is declared, what is the anticipated type for bind values?intThe 0-based encounter of aJpaCriteriaParameterinstance in aSqmQuerySource.CRITERIAquery.getName()If this represents a named parameter, return that parameter name; otherwise returnnull.If this represents a positional parameter, return that parameter position; otherwise returnnull.intThe 0-based encounter of an unnamedJpaCriteriaParameterinstance in aSqmQuerySource.CRITERIAquery.inthashCode()voidvisitSubSelectableNodes(Consumer<SqmSelectableNode<?>> jpaSelectionConsumer) Visit each of this selectable's direct sub-selectables - used to support JPA'sSelectionmodel (which is really a "selectable", just poorly named and poorly definedMethods inherited from class org.hibernate.query.sqm.tree.expression.AbstractSqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, internalApplyInferableType, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualToMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaSelection
alias, getSelectionItems, isCompoundSelectionMethods inherited from class org.hibernate.query.sqm.tree.jpa.AbstractJpaTupleElement
copyTo, getAlias, getNodeType, setAlias, setExpressibleTypeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.query.criteria.JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface org.hibernate.query.criteria.JpaTupleElement
getJavaType, getJavaTypeDescriptor, getJavaTypeName, isEnumMethods inherited from interface jakarta.persistence.criteria.Selection
isCompoundSelectionMethods inherited from interface org.hibernate.query.sqm.tree.expression.SqmExpression
applyInferableType, as, asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, cast, castAs, equalTo, equalTo, getNodeType, in, in, in, in, isNotNull, isNull, notEqualTo, notEqualToMethods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilderMethods inherited from interface org.hibernate.query.sqm.tree.select.SqmSelectableNode
getTupleLengthMethods inherited from interface org.hibernate.query.sqm.tree.SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
toHqlStringMethods inherited from interface jakarta.persistence.TupleElement
getAlias
-
Constructor Details
-
SqmJpaCriteriaParameterWrapper
public SqmJpaCriteriaParameterWrapper(BindableType<T> type, JpaCriteriaParameter<T> jpaCriteriaParameter, int criteriaParameterId, int unnamedParameterId, NodeBuilder criteriaBuilder)
-
-
Method Details
-
copy
- Specified by:
copyin interfaceSqmExpression<T>- Specified by:
copyin interfaceSqmNode- Specified by:
copyin interfaceSqmParameter<T>- Specified by:
copyin interfaceSqmSelectableNode<T>- Specified by:
copyin interfaceSqmTypedNode<T>
-
getName
Description copied from interface:SqmParameterIf this represents a named parameter, return that parameter name; otherwise returnnull. -
getPosition
Description copied from interface:SqmParameterIf this represents a positional parameter, return that parameter position; otherwise returnnull.- Specified by:
getPositionin interfaceParameter<T>- Specified by:
getPositionin interfaceSqmParameter<T>- Returns:
- The parameter position
-
getJpaCriteriaParameter
-
getCriteriaParameterId
public int getCriteriaParameterId()The 0-based encounter of aJpaCriteriaParameterinstance in aSqmQuerySource.CRITERIAquery.- See Also:
-
getUnnamedParameterId
public int getUnnamedParameterId()The 0-based encounter of an unnamedJpaCriteriaParameterinstance in aSqmQuerySource.CRITERIAquery. If thegetJpaCriteriaParameter()has a name, returns -1.- See Also:
-
getParameterType
- Specified by:
getParameterTypein interfaceParameter<T>
-
allowMultiValuedBinding
public boolean allowMultiValuedBinding()Description copied from interface:SqmParameterCan a collection/array of values be bound to this parameter?This is allowed in very limited contexts within the query:
- as the value of an IN predicate if the only value is a single param
- (in non-strict JPA mode) as the final vararg to a function
- Specified by:
allowMultiValuedBindingin interfaceSqmParameter<T>- Returns:
trueif binding collection/array of values is allowed for this parameter;falseotherwise.
-
getAnticipatedType
Description copied from interface:SqmParameterBased on the context it is declared, what is the anticipated type for bind values?NOTE: If
SqmParameter.allowMultiValuedBinding()is true, this will indicate the Type of the individual values.- Specified by:
getAnticipatedTypein interfaceSqmParameter<T>- Returns:
- The anticipated Type.
-
copy
Description copied from interface:SqmParameterMake a copy- Specified by:
copyin interfaceSqmParameter<T>
-
accept
Unsupported. Visitation for a criteria parameter should be handled as part ofSemanticQueryWalker.visitJpaCriteriaParameter(org.hibernate.query.sqm.tree.expression.JpaCriteriaParameter<?>). This wrapper is intended just for representing unique SqmParameter references for eachJpaCriteriaParameteroccurrence in the SQM tree as part of theQueryParametertoSqmParametertoJdbcParametertransformation. Each occurrence requires a uniqueSqmParameterto make sure we ultimately get the complete set ofJdbcParameterreferences.- Specified by:
acceptin interfaceSqmVisitableNode
-
visitSubSelectableNodes
Description copied from interface:SqmSelectableNodeVisit each of this selectable's direct sub-selectables - used to support JPA'sSelectionmodel (which is really a "selectable", just poorly named and poorly defined- Specified by:
visitSubSelectableNodesin interfaceSqmExpression<T>- Specified by:
visitSubSelectableNodesin interfaceSqmSelectableNode<T>- See Also:
-
appendHqlString
- Specified by:
appendHqlStringin interfaceSqmVisitableNode
-
equals
-
hashCode
public int hashCode() -
compareTo
- Specified by:
compareToin interfaceComparable<T>- Specified by:
compareToin interfaceSqmParameter<T>
-