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 SqlAstJoinTypeReturns theSqlAstJoinTypeof the currently processing join if there is one, ornull.default SqmQueryPart<?> booleanReturns whether the state of the translation is currently in type inference mode.voidregisterQueryTransformer(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, visitCorrelatedCteJoin, visitCorrelatedDerivedJoin, 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, visitWindowMethods inherited from interface org.hibernate.sql.ast.spi.SqlAstCreationState
applyOnlyLoadByKeyFilters, applyOrdering, getCreationContext, getCurrentProcessingState, getFromClauseAccess, getLoadQueryInfluencers, getSqlAliasBaseGenerator, getSqlExpressionResolver, getSqmCreationContext, isProcedureOrNativeQuery, registerEntityNameUsage, registerLockMode, supportsEntityNameUsage
-
Method Details
-
getCurrentClauseStack
-
getSqmQueryPartStack
Stack<SqmQueryPart> getSqmQueryPartStack() -
getCurrentSqmQueryPart
-
registerQueryTransformer
-
getCurrentlyProcessingJoinType
@Nullable SqlAstJoinType getCurrentlyProcessingJoinType()Returns theSqlAstJoinTypeof the currently processing join if there is one, ornull. This is used to determine the join type for implicit joins happening in theONclause. -
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.
-