Package org.hibernate.sql.ast.tree.cte
Class CteTableGroup
- java.lang.Object
-
- org.hibernate.sql.ast.tree.from.AbstractColumnReferenceQualifier
-
- org.hibernate.sql.ast.tree.from.AbstractTableGroup
-
- org.hibernate.sql.ast.tree.cte.CteTableGroup
-
- All Implemented Interfaces:
DomainResultProducer
,SqmPathInterpretation
,SqlSelectionProducer
,Expression
,ColumnReferenceQualifier
,TableGroup
,SqlAstNode
public class CteTableGroup extends AbstractTableGroup
Wraps aNamedTableReference
representing the CTE and adapts it toTableGroup
for use in SQL AST
-
-
Constructor Summary
Constructors Constructor Description CteTableGroup(boolean canUseInnerJoins, NavigablePath navigablePath, SqlAliasBase sqlAliasBase, ModelPartContainer modelPartContainer, NamedTableReference cteTableReference, Set<String> compatibleTableExpressions)
CteTableGroup(NamedTableReference cteTableReference)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
applyAffectedTableNames(Consumer<String> nameCollector)
String
getGroupAlias()
If we want to use CTE for TableGroup rendering we will need to know the alias we can use for the groupTableReference
getPrimaryTableReference()
TableReference
getTableReference(NavigablePath navigablePath, String tableExpression, boolean resolve)
Returns the table reference for the table expression, or null if not found.List<TableReferenceJoin>
getTableReferenceJoins()
-
Methods inherited from class org.hibernate.sql.ast.tree.from.AbstractTableGroup
addNestedTableGroupJoin, addTableGroupJoin, canUseInnerJoins, getExpressionType, getModelPart, getNavigablePath, getNestedTableGroupJoins, getSessionFactory, getSourceAlias, getSqlAliasBase, getTableGroupJoins, isRealTableGroup, prependTableGroupJoin, toString, visitNestedTableGroupJoins, visitTableGroupJoins
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.ast.tree.from.ColumnReferenceQualifier
getTableReference, getTableReference, getTableReference, resolveTableReference, resolveTableReference, resolveTableReference
-
Methods inherited from interface org.hibernate.sql.ast.tree.expression.Expression
createDomainResultSqlSelection, createSqlSelection, getColumnReference
-
Methods inherited from interface org.hibernate.query.sqm.sql.internal.SqmPathInterpretation
getSqlExpression
-
Methods inherited from interface org.hibernate.sql.ast.tree.from.TableGroup
accept, applySqlSelections, createDomainResult, findCompatibleJoin, findCompatibleJoinedGroup, findTableGroupJoin, hasRealJoins, isFetched, isInitialized, isLateral, isVirtual
-
-
-
-
Constructor Detail
-
CteTableGroup
public CteTableGroup(NamedTableReference cteTableReference)
-
CteTableGroup
public CteTableGroup(boolean canUseInnerJoins, NavigablePath navigablePath, SqlAliasBase sqlAliasBase, ModelPartContainer modelPartContainer, NamedTableReference cteTableReference, Set<String> compatibleTableExpressions)
-
-
Method Detail
-
getGroupAlias
public String getGroupAlias()
Description copied from interface:TableGroup
If we want to use CTE for TableGroup rendering we will need to know the alias we can use for the group- Specified by:
getGroupAlias
in interfaceTableGroup
- Overrides:
getGroupAlias
in classAbstractTableGroup
-
getTableReference
public TableReference getTableReference(NavigablePath navigablePath, String tableExpression, boolean resolve)
Description copied from interface:ColumnReferenceQualifier
Returns the table reference for the table expression, or null if not found.- Specified by:
getTableReference
in interfaceColumnReferenceQualifier
- Overrides:
getTableReference
in classAbstractColumnReferenceQualifier
- Parameters:
navigablePath
- The path for which to look up the table reference, may be nulltableExpression
- The table expression for which to look up the table referenceresolve
- Whether to potentially create table reference joins for this table group
-
getPrimaryTableReference
public TableReference getPrimaryTableReference()
- Specified by:
getPrimaryTableReference
in interfaceTableGroup
- Specified by:
getPrimaryTableReference
in classAbstractColumnReferenceQualifier
-
getTableReferenceJoins
public List<TableReferenceJoin> getTableReferenceJoins()
- Specified by:
getTableReferenceJoins
in interfaceTableGroup
- Specified by:
getTableReferenceJoins
in classAbstractColumnReferenceQualifier
-
-