Package org.hibernate.query.sqm.sql
Interface SqmToSqlAstConverter
- All Superinterfaces:
SemanticQueryWalker<Object>
,SqlAstCreationState
- All Known Subinterfaces:
SqmTranslator<T>
- All Known Implementing Classes:
BaseSqmToSqlAstConverter
,FakeSqmToSqlAstConverter
,MultiTableSqmMutationConverter
,StandardSqmTranslator
,SybaseSqmToSqlAstConverter
Specialized SemanticQueryWalker (SQM visitor) for producing SQL AST.
-
Method Summary
Modifier and TypeMethodDescriptiondetermineValueMapping
(SqmExpression<?> sqmExpression) expandSelfRenderingFunctionMultiValueParameter
(SqmParameter<?> sqmParameter) @Nullable SqlAstJoinType
Returns theSqlAstJoinType
of the currently processing join if there is one, ornull
.default SqmQueryPart<?>
boolean
Returns whether the state of the translation is currently in type inference mode.void
registerQueryTransformer
(QueryTransformer transformer) @Nullable MappingModelExpressible<?>
Returns the function return type implied from the context within which it is used.default <S,
M> M resolveMetadata
(S source, Function<S, M> producer) Resolve a generic metadata object from the provided source, using the specified producer.visitNestedTopLevelPredicate
(SqmPredicate predicate) visitWithInferredType
(SqmVisitableNode node, Supplier<MappingModelExpressible<?>> inferredTypeAccess) Visits the given node with the given inferred type access.Methods inherited from interface org.hibernate.query.sqm.SemanticQueryWalker
visitAny, visitAnyDiscriminatorTypeExpression, visitAnyDiscriminatorTypeValueExpression, visitAnyValuedValuedPath, visitAssignment, visitAsWrapperExpression, visitBagJoin, visitBasicValuedPath, visitBetweenPredicate, visitBinaryArithmeticExpression, visitBooleanExpressionPredicate, visitByUnit, visitCastTarget, visitCoalesce, visitCollation, visitComparisonPredicate, visitConflictClause, visitCorrelatedBagJoin, visitCorrelatedCrossJoin, visitCorrelatedEntityJoin, visitCorrelatedListJoin, visitCorrelatedMapJoin, visitCorrelatedPluralPartJoin, visitCorrelatedRoot, visitCorrelatedRootJoin, visitCorrelatedSetJoin, visitCorrelatedSingularJoin, visitCorrelation, visitCrossJoin, visitCteContainer, visitCteStatement, visitDeleteStatement, visitDiscriminatorPath, visitDistinct, visitDurationUnit, visitDynamicInstantiation, visitElementAggregateFunction, visitEmbeddableTypeLiteralExpression, visitEmbeddableValuedPath, visitEntityTypeLiteralExpression, visitEntityValuedPath, visitEnumLiteral, visitEvery, visitExistsPredicate, visitExtractUnit, visitFetchExpression, visitFieldLiteral, visitFkExpression, visitFormat, visitFromClause, visitFullyQualifiedClass, visitFunction, visitFunctionPath, visitGroupByClause, visitGroupedPredicate, visitHavingClause, visitHqlNumericLiteral, visitIndexAggregateFunction, visitIndexedPluralAccessPath, visitInListPredicate, visitInsertSelectStatement, visitInsertValuesStatement, visitInSubQueryPredicate, visitIsEmptyPredicate, visitIsNullPredicate, visitIsTruePredicate, visitJpaCompoundSelection, visitJpaCriteriaParameter, visitJunctionPredicate, visitLikePredicate, visitListJoin, visitLiteral, visitMapEntryFunction, visitMapJoin, visitMemberOfPredicate, visitModifiedSubQueryExpression, visitNamedExpression, visitNamedParameterExpression, visitNegatedPredicate, visitNonAggregatedCompositeValuedPath, visitOffsetExpression, visitOrderByClause, visitOver, visitOverflow, visitParameterizedEntityTypeExpression, visitPluralAttributeSizeFunction, visitPluralPartJoin, visitPluralValuedPath, visitPositionalParameterExpression, visitQualifiedAttributeJoin, visitQualifiedCteJoin, visitQualifiedDerivedJoin, visitQualifiedEntityJoin, visitQualifiedFunctionJoin, visitQueryGroup, visitQuerySpec, visitRootCte, visitRootDerived, visitRootFunction, visitRootPath, visitSearchedCaseExpression, visitSelectClause, visitSelection, visitSelectStatement, visitSetClause, visitSetJoin, visitSetReturningFunction, visitSimpleCaseExpression, visitSingularJoin, visitSortSpecification, visitStar, visitSubQueryExpression, visitSummarization, visitToDuration, visitTreatedPath, visitTrimSpecification, visitTuple, visitUnaryOperationExpression, visitUpdateStatement, visitValues, visitWhereClause, visitWindow
Methods inherited from interface org.hibernate.sql.ast.spi.SqlAstCreationState
applyOnlyLoadByKeyFilters, applyOrdering, getCreationContext, getCurrentProcessingState, getFromClauseAccess, getLoadQueryInfluencers, getSqlAliasBaseGenerator, getSqlExpressionResolver, registerEntityNameUsage, registerLockMode, supportsEntityNameUsage
-
Method Details
-
getCurrentClauseStack
-
getSqmQueryPartStack
Stack<SqmQueryPart> getSqmQueryPartStack() -
getCurrentSqmQueryPart
-
registerQueryTransformer
-
getCurrentlyProcessingJoinType
@Nullable SqlAstJoinType getCurrentlyProcessingJoinType()Returns theSqlAstJoinType
of the currently processing join if there is one, ornull
. This is used to determine the join type for implicit joins happening in theON
clause. -
isInTypeInference
boolean isInTypeInference()Returns whether the state of the translation is currently in type inference mode. This is useful to avoid type inference based on other incomplete inference information. -
resolveFunctionImpliedReturnType
@Nullable MappingModelExpressible<?> resolveFunctionImpliedReturnType()Returns the function return type implied from the context within which it is used. If there is no current function being processed or no context implied type, the return isnull
. -
determineValueMapping
-
visitWithInferredType
Object visitWithInferredType(SqmVisitableNode node, Supplier<MappingModelExpressible<?>> inferredTypeAccess) Visits the given node with the given inferred type access. -
expandSelfRenderingFunctionMultiValueParameter
-
visitNestedTopLevelPredicate
-
resolveMetadata
Resolve a generic metadata object from the provided source, using the specified producer.
-