Package org.hibernate.sql.ast
Interface SqlAstTranslator<T extendsJdbcOperation>
- All Superinterfaces:
SqlAstWalker
- All Known Implementing Classes:
AbstractSqlAstTranslator,CockroachSqlAstTranslator,DB2iSqlAstTranslator,DB2SqlAstTranslator,DB2zSqlAstTranslator,DerbySqlAstTranslator,H2SqlAstTranslator,HANASqlAstTranslator,HSQLSqlAstTranslator,MariaDBSqlAstTranslator,MySQLSqlAstTranslator,OracleSqlAstTranslator,PostgreSQLSqlAstTranslator,SpannerSqlAstTranslator,SqlAstTranslatorWithMerge,SqlAstTranslatorWithUpsert,SQLServerSqlAstTranslator,StandardSqlAstTranslator,SybaseASESqlAstTranslator,SybaseSqlAstTranslator,TiDBSqlAstTranslator
public interfaceSqlAstTranslator<T extendsJdbcOperation>extendsSqlAstWalker
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Set<String>getAffectedTableNames()Not the best spot for this.Stack<Clause>getCurrentClauseStack()QueryPartgetCurrentQueryPart()Returns the current query part that is translated.SessionFactoryImplementorgetSessionFactory()voidrender(SqlAstNode sqlAstNode,SqlAstNodeRenderingMode renderingMode)Renders the given SQL AST node with the given rendering mode.booleansupportsFilterClause()Whether the FILTER clause for aggregate functions is supported.Ttranslate(JdbcParameterBindings jdbcParameterBindings,QueryOptions queryOptions)Methods inherited from interface org.hibernate.sql.ast.SqlAstWalker
visitAggregateColumnWriteExpression,visitAny,visitAssignment,visitBetweenPredicate,visitBinaryArithmeticExpression,visitBooleanExpressionPredicate,visitCaseSearchedExpression,visitCaseSimpleExpression,visitCastTarget,visitCollation,visitColumnReference,visitColumnWriteFragment,visitConversion,visitCustomTableDelete,visitCustomTableInsert,visitCustomTableUpdate,visitDeleteStatement,visitDistinct,visitDuration,visitDurationUnit,visitEmbeddableTypeLiteral,visitEntityTypeLiteral,visitEvery,visitExistsPredicate,visitExtractUnit,visitFilterFragmentPredicate,visitFilterPredicate,visitFormat,visitFromClause,visitFunctionTableReference,visitGroupedPredicate,visitInArrayPredicate,visitInListPredicate,visitInsertStatement,visitInSubQueryPredicate,visitJdbcLiteral,visitJunction,visitLikePredicate,visitModifiedSubQueryExpression,visitNamedTableReference,visitNegatedPredicate,visitNestedColumnReference,visitNullnessPredicate,visitOffsetFetchClause,visitOptionalTableUpdate,visitOver,visitOverflow,visitParameter,visitQueryGroup,visitQueryLiteral,visitQueryPartTableReference,visitQuerySpec,visitRelationalPredicate,visitSelectClause,visitSelectStatement,visitSelfRenderingExpression,visitSelfRenderingPredicate,visitSortSpecification,visitSqlFragmentPredicate,visitSqlSelection,visitSqlSelectionExpression,visitStandardTableDelete,visitStandardTableInsert,visitStandardTableUpdate,visitStar,visitSummarization,visitTableGroup,visitTableGroupJoin,visitTableReferenceJoin,visitThruthnessPredicate,visitTrimSpecification,visitTuple,visitUnaryOperationExpression,visitUnparsedNumericLiteral,visitUpdateStatement,visitValuesTableReference
Method Detail
getSessionFactory
SessionFactoryImplementor getSessionFactory()
render
void render(SqlAstNode sqlAstNode,SqlAstNodeRenderingMode renderingMode)
Renders the given SQL AST node with the given rendering mode.
supportsFilterClause
boolean supportsFilterClause()
Whether the FILTER clause for aggregate functions is supported.
getCurrentQueryPart
QueryPart getCurrentQueryPart()
Returns the current query part that is translated.
getAffectedTableNames
Set<String> getAffectedTableNames()
Not the best spot for this. Its the table names collected while walking the SQL AST. Its ok here because the translator is consider a one-time-use. It just needs to be called after translation. A better option is probably to have "translation" objects that expose the affected table-names.
translate
T translate(JdbcParameterBindings jdbcParameterBindings,QueryOptions queryOptions)