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()
SqlAstJoinType
getCurrentlyProcessingJoinType()
Returns theSqlAstJoinType
of the currently processing join if there is one, ornull
.default SqmQueryPart<?>
getCurrentSqmQueryPart()
Stack<SqmQueryPart>
getSqmQueryPartStack()
boolean
isInTypeInference()
Returns whether the state of the translation is currently in type inference mode.void
registerQueryTransformer(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.Predicate
visitNestedTopLevelPredicate(SqmPredicate predicate)
Object
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, 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, registerEntityNameUsage, registerLockMode, supportsEntityNameUsage
-
-
-
-
Method Detail
-
getSqmQueryPartStack
Stack<SqmQueryPart> getSqmQueryPartStack()
-
getCurrentSqmQueryPart
default SqmQueryPart<?> getCurrentSqmQueryPart()
-
registerQueryTransformer
void registerQueryTransformer(QueryTransformer transformer)
-
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
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.
-
-