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
public interface SqmToSqlAstConverter extends SemanticQueryWalker<Object>, SqlAstCreationState
Specialized SemanticQueryWalker (SQM visitor) for producing SQL AST.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description MappingModelExpressible<?>determineValueMapping(SqmExpression<?> sqmExpression)List<Expression>expandSelfRenderingFunctionMultiValueParameter(SqmParameter<?> sqmParameter)Stack<Clause>getCurrentClauseStack()SqlAstJoinTypegetCurrentlyProcessingJoinType()Returns theSqlAstJoinTypeof the currently processing join if there is one, ornull.default SqmQueryPart<?>getCurrentSqmQueryPart()Stack<SqmQueryPart>getSqmQueryPartStack()booleanisInTypeInference()Returns whether the state of the translation is currently in type inference mode.voidregisterQueryTransformer(QueryTransformer transformer)MappingModelExpressible<?>resolveFunctionImpliedReturnType()Returns the function return type implied from the context within which it is used.default <S,M>
MresolveMetadata(S source, Function<S,M> producer)Resolve a generic metadata object from the provided source, using the specified producer.PredicatevisitNestedTopLevelPredicate(SqmPredicate predicate)ObjectvisitWithInferredType(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, visitNamedParameterExpression, visitNegatedPredicate, visitNonAggregatedCompositeValuedPath, visitOffsetExpression, visitOrderByClause, visitOver, visitOverflow, visitParameterizedEntityTypeExpression, visitPluralAttributeSizeFunction, visitPluralPartJoin, visitPluralValuedPath, visitPositionalParameterExpression, visitQualifiedAttributeJoin, visitQualifiedCteJoin, visitQualifiedDerivedJoin, visitQualifiedEntityJoin, visitQueryGroup, visitQuerySpec, visitRootCte, visitRootDerived, visitRootPath, visitSearchedCaseExpression, visitSelectClause, visitSelection, visitSelectStatement, visitSetClause, visitSetJoin, 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, isProcedureOrNativeQuery, registerEntityNameUsage, registerLockMode, supportsEntityNameUsage
-
-
-
-
Method Detail
-
getSqmQueryPartStack
Stack<SqmQueryPart> getSqmQueryPartStack()
-
getCurrentSqmQueryPart
default SqmQueryPart<?> getCurrentSqmQueryPart()
-
registerQueryTransformer
void registerQueryTransformer(QueryTransformer transformer)
-
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
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
MappingModelExpressible<?> determineValueMapping(SqmExpression<?> sqmExpression)
-
visitWithInferredType
Object visitWithInferredType(SqmVisitableNode node, Supplier<MappingModelExpressible<?>> inferredTypeAccess)
Visits the given node with the given inferred type access.
-
expandSelfRenderingFunctionMultiValueParameter
List<Expression> expandSelfRenderingFunctionMultiValueParameter(SqmParameter<?> sqmParameter)
-
visitNestedTopLevelPredicate
Predicate visitNestedTopLevelPredicate(SqmPredicate predicate)
-
resolveMetadata
default <S,M> M resolveMetadata(S source, Function<S,M> producer)Resolve a generic metadata object from the provided source, using the specified producer.
-
-