Package org.hibernate.sql.ast.tree.from
Class MappedByTableGroup
- java.lang.Object
-
- org.hibernate.sql.ast.tree.from.DelegatingTableGroup
-
- org.hibernate.sql.ast.tree.from.MappedByTableGroup
-
- All Implemented Interfaces:
DomainResultProducer,SqmPathInterpretation,SqlSelectionProducer,Expression,ColumnReferenceQualifier,TableGroup,VirtualTableGroup,SqlAstNode
public class MappedByTableGroup extends DelegatingTableGroup implements VirtualTableGroup
-
-
Constructor Summary
Constructors Constructor Description MappedByTableGroup(NavigablePath navigablePath, ModelPartContainer modelPart, TableGroup underlyingTableGroup, boolean fetched, TableGroup parentTableGroup, BiPredicate<NavigablePath,String> navigablePathChecker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ModelPartContainergetExpressionType()The type for this expressionStringgetGroupAlias()If we want to use CTE for TableGroup rendering we will need to know the alias we can use for the groupModelPartContainergetModelPart()NavigablePathgetNavigablePath()List<TableGroupJoin>getNestedTableGroupJoins()protected TableGroupgetTableGroup()List<TableGroupJoin>getTableGroupJoins()TableReferencegetTableReference(NavigablePath navigablePath, String tableExpression, boolean allowFkOptimization, boolean resolve)Returns the table reference for the table expression, or null if not found.List<TableReferenceJoin>getTableReferenceJoins()booleanisFetched()booleanisLateral()booleanisRealTableGroup()TableReferenceresolveTableReference(NavigablePath navigablePath, String tableExpression, boolean allowFkOptimization)LikeColumnReferenceQualifier.getTableReference(NavigablePath, String, boolean, boolean), but will throw an exception if no table reference can be found, even after resolving possible table reference joins.voidvisitNestedTableGroupJoins(Consumer<TableGroupJoin> consumer)voidvisitTableGroupJoins(Consumer<TableGroupJoin> consumer)-
Methods inherited from class org.hibernate.sql.ast.tree.from.DelegatingTableGroup
accept, addNestedTableGroupJoin, addTableGroupJoin, applyAffectedTableNames, applySqlSelections, canUseInnerJoins, createDomainResult, createSqlSelection, getColumnReference, getPrimaryTableReference, getSourceAlias, getSqlExpression, getTableReference, getTableReference, isInitialized, prependTableGroupJoin, resolveTableReference, resolveTableReference
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.ast.tree.from.ColumnReferenceQualifier
getTableReference, getTableReference, 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, addNestedTableGroupJoin, addTableGroupJoin, applyAffectedTableNames, applySqlSelections, canUseInnerJoins, createDomainResult, getPrimaryTableReference, getSourceAlias, isInitialized, prependTableGroupJoin
-
-
-
-
Constructor Detail
-
MappedByTableGroup
public MappedByTableGroup(NavigablePath navigablePath, ModelPartContainer modelPart, TableGroup underlyingTableGroup, boolean fetched, TableGroup parentTableGroup, BiPredicate<NavigablePath,String> navigablePathChecker)
-
-
Method Detail
-
getTableGroup
protected TableGroup getTableGroup()
- Specified by:
getTableGroupin classDelegatingTableGroup
-
getNavigablePath
public NavigablePath getNavigablePath()
- Specified by:
getNavigablePathin interfaceSqmPathInterpretation- Specified by:
getNavigablePathin interfaceTableGroup- Overrides:
getNavigablePathin classDelegatingTableGroup
-
getExpressionType
public ModelPartContainer getExpressionType()
Description copied from interface:ExpressionThe type for this expression- Specified by:
getExpressionTypein interfaceExpression- Specified by:
getExpressionTypein interfaceSqmPathInterpretation- Overrides:
getExpressionTypein classDelegatingTableGroup
-
getGroupAlias
public String getGroupAlias()
Description copied from interface:TableGroupIf we want to use CTE for TableGroup rendering we will need to know the alias we can use for the group- Specified by:
getGroupAliasin interfaceTableGroup- Overrides:
getGroupAliasin classDelegatingTableGroup
-
isFetched
public boolean isFetched()
- Specified by:
isFetchedin interfaceTableGroup- Overrides:
isFetchedin classDelegatingTableGroup
-
getModelPart
public ModelPartContainer getModelPart()
- Specified by:
getModelPartin interfaceTableGroup- Overrides:
getModelPartin classDelegatingTableGroup
-
isRealTableGroup
public boolean isRealTableGroup()
- Specified by:
isRealTableGroupin interfaceTableGroup- Overrides:
isRealTableGroupin classDelegatingTableGroup
-
isLateral
public boolean isLateral()
- Specified by:
isLateralin interfaceTableGroup- Overrides:
isLateralin classDelegatingTableGroup
-
getTableGroupJoins
public List<TableGroupJoin> getTableGroupJoins()
- Specified by:
getTableGroupJoinsin interfaceTableGroup- Overrides:
getTableGroupJoinsin classDelegatingTableGroup
-
getNestedTableGroupJoins
public List<TableGroupJoin> getNestedTableGroupJoins()
- Specified by:
getNestedTableGroupJoinsin interfaceTableGroup- Overrides:
getNestedTableGroupJoinsin classDelegatingTableGroup
-
visitTableGroupJoins
public void visitTableGroupJoins(Consumer<TableGroupJoin> consumer)
- Specified by:
visitTableGroupJoinsin interfaceTableGroup- Overrides:
visitTableGroupJoinsin classDelegatingTableGroup
-
visitNestedTableGroupJoins
public void visitNestedTableGroupJoins(Consumer<TableGroupJoin> consumer)
- Specified by:
visitNestedTableGroupJoinsin interfaceTableGroup- Overrides:
visitNestedTableGroupJoinsin classDelegatingTableGroup
-
getTableReferenceJoins
public List<TableReferenceJoin> getTableReferenceJoins()
- Specified by:
getTableReferenceJoinsin interfaceTableGroup- Overrides:
getTableReferenceJoinsin classDelegatingTableGroup
-
resolveTableReference
public TableReference resolveTableReference(NavigablePath navigablePath, String tableExpression, boolean allowFkOptimization)
Description copied from interface:ColumnReferenceQualifierLikeColumnReferenceQualifier.getTableReference(NavigablePath, String, boolean, boolean), but will throw an exception if no table reference can be found, even after resolving possible table reference joins.- Specified by:
resolveTableReferencein interfaceColumnReferenceQualifier- Overrides:
resolveTableReferencein classDelegatingTableGroup- 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 referenceallowFkOptimization- Whether a foreign key optimization is allowed i.e. use the FK column on the key-side
-
getTableReference
public TableReference getTableReference(NavigablePath navigablePath, String tableExpression, boolean allowFkOptimization, boolean resolve)
Description copied from interface:ColumnReferenceQualifierReturns the table reference for the table expression, or null if not found.- Specified by:
getTableReferencein interfaceColumnReferenceQualifier- Overrides:
getTableReferencein classDelegatingTableGroup- 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 referenceallowFkOptimization- Whether a foreign key optimization is allowed i.e. use the FK column on the key-sideresolve- Whether to potentially create table reference joins for this table group
-
-