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()
protected TableReference
getTableReferenceInternal(NavigablePath navigablePath, String tableExpression, boolean allowFkOptimization, boolean resolve)
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 org.hibernate.sql.ast.tree.from.AbstractColumnReferenceQualifier
getTableReference, resolveTableReference
-
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
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, isFetched, isInitialized, isLateral
-
-
-
-
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
-
getTableReferenceInternal
protected TableReference getTableReferenceInternal(NavigablePath navigablePath, String tableExpression, boolean allowFkOptimization, boolean resolve)
- Overrides:
getTableReferenceInternal
in classAbstractColumnReferenceQualifier
-
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
-
-