Top Description Fields Constructors Methods
org.hibernate.sql.ast.tree.cte

public Class CteTableGroup

extends AbstractTableGroup
Class Inheritance
Imports
java.util.Collections, .List, .Set, java.util.function.Consumer, org.hibernate.metamodel.mapping.ModelPartContainer, org.hibernate.spi.NavigablePath, org.hibernate.sql.ast.spi.SqlAliasBase, org.hibernate.sql.ast.tree.from.AbstractTableGroup, .NamedTableReference, .TableGroup, .TableGroupJoin, .TableReference, .TableReferenceJoin

Wraps a NamedTableReference representing the CTE and adapts it to TableGroup for use in SQL AST
Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final Set<String>
private final NamedTableReference

Constructor Summary

AccessConstructor and Description
public
public
CteTableGroup(boolean canUseInnerJoins, NavigablePath navigablePath, SqlAliasBase sqlAliasBase, ModelPartContainer modelPartContainer, NamedTableReference cteTableReference, Set<String> compatibleTableExpressions)

Method Summary

Modifier and TypeMethod and Description
public void
public String
getGroupAlias()

Overrides org.hibernate.sql.ast.tree.from.AbstractTableGroup.getGroupAlias.

Implements org.hibernate.sql.ast.tree.from.TableGroup.getGroupAlias.

If we want to use CTE for TableGroup rendering we will need to know the alias we can use for the group
public TableReference
public TableReference
getTableReference(NavigablePath
The path for which to look up the table reference, may be null
navigablePath
,
String
The table expression for which to look up the table reference
tableExpression
,
boolean
Whether to potentially create table reference joins for this table group
resolve
)

Overrides org.hibernate.sql.ast.tree.from.AbstractColumnReferenceQualifier.getTableReference.

Implements org.hibernate.sql.ast.tree.from.ColumnReferenceQualifier.getTableReference.

Returns the table reference for the table expression, or null if not found.
public List<TableReferenceJoin>
Inherited from org.hibernate.sql.ast.tree.from.AbstractTableGroup:
addNestedTableGroupJoinaddTableGroupJoincanUseInnerJoinsgetExpressionTypegetModelPartgetNavigablePathgetNestedTableGroupJoinsgetSessionFactorygetSourceAliasgetSqlAliasBasegetTableGroupJoinsisRealTableGroupprependTableGroupJointoStringvisitNestedTableGroupJoinsvisitTableGroupJoins

Field Detail

compatibleTableExpressionsback to summary
private final Set<String> compatibleTableExpressions
cteTableReferenceback to summary
private final NamedTableReference cteTableReference

Constructor Detail

CteTableGroupback to summary
public CteTableGroup(NamedTableReference cteTableReference)
CteTableGroupback to summary
public CteTableGroup(boolean canUseInnerJoins, NavigablePath navigablePath, SqlAliasBase sqlAliasBase, ModelPartContainer modelPartContainer, NamedTableReference cteTableReference, Set<String> compatibleTableExpressions)

Method Detail

applyAffectedTableNamesback to summary
public void applyAffectedTableNames(Consumer<String> nameCollector)

Implements org.hibernate.sql.ast.tree.from.TableGroup.applyAffectedTableNames.

Annotations
@Override
getGroupAliasback to summary
public String getGroupAlias()

Overrides org.hibernate.sql.ast.tree.from.AbstractTableGroup.getGroupAlias.

Implements org.hibernate.sql.ast.tree.from.TableGroup.getGroupAlias.

Doc from org.hibernate.sql.ast.tree.from.TableGroup.getGroupAlias.

If we want to use CTE for TableGroup rendering we will need to know the alias we can use for the group

Annotations
@Override
getPrimaryTableReferenceback to summary
public TableReference getPrimaryTableReference()

Implements abstract org.hibernate.sql.ast.tree.from.AbstractColumnReferenceQualifier.getPrimaryTableReference.

Implements org.hibernate.sql.ast.tree.from.TableGroup.getPrimaryTableReference.

Annotations
@Override
getTableReferenceback to summary
public TableReference getTableReference(NavigablePath navigablePath, String tableExpression, boolean resolve)

Overrides org.hibernate.sql.ast.tree.from.AbstractColumnReferenceQualifier.getTableReference.

Implements org.hibernate.sql.ast.tree.from.ColumnReferenceQualifier.getTableReference.

Doc from org.hibernate.sql.ast.tree.from.ColumnReferenceQualifier.getTableReference.

Returns the table reference for the table expression, or null if not found.

Parameters
navigablePath:NavigablePath

The path for which to look up the table reference, may be null

tableExpression:String

The table expression for which to look up the table reference

resolve:boolean

Whether to potentially create table reference joins for this table group

Annotations
@Override
getTableReferenceJoinsback to summary
public List<TableReferenceJoin> getTableReferenceJoins()

Implements abstract org.hibernate.sql.ast.tree.from.AbstractColumnReferenceQualifier.getTableReferenceJoins.

Implements org.hibernate.sql.ast.tree.from.TableGroup.getTableReferenceJoins.

Annotations
@Override