Package org.hibernate.sql.ast.tree.from
Interface TableGroupJoinProducer
-
- All Superinterfaces:
Bindable,JdbcMappingContainer,MappingModelExpressible,ModelPart,ModelPartContainer,TableGroupProducer
- All Known Subinterfaces:
CompositeIdentifierMapping,DiscriminatedAssociationModelPart,EmbeddableValuedFetchable,EmbeddableValuedModelPart,EntityAssociationMapping,NonAggregatedIdentifierMapping,PluralAttributeMapping
- All Known Implementing Classes:
AbstractCompositeIdentifierMapping,AnonymousTupleEmbeddableValuedModelPart,AnonymousTupleEmbeddedEntityIdentifierMapping,AnonymousTupleEntityValuedModelPart,AnonymousTupleNonAggregatedEntityIdentifierMapping,DiscriminatedAssociationAttributeMapping,DiscriminatedCollectionPart,EmbeddedAttributeMapping,EmbeddedCollectionPart,EmbeddedIdentifierMappingImpl,InverseNonAggregatedIdentifierMapping,ManyToManyCollectionPart,NonAggregatedIdentifierMappingImpl,OneToManyCollectionPart,PluralAttributeMappingImpl,ToOneAttributeMapping,VirtualEmbeddedAttributeMapping
public interface TableGroupJoinProducer extends TableGroupProducer
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesBiConsumer<X,Y>, Bindable.JdbcValuesConsumer
-
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.ModelPart
ModelPart.JdbcValueBiConsumer<X,Y>, ModelPart.JdbcValueConsumer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description TableGroupcreateRootTableGroupJoin(NavigablePath navigablePath, TableGroup lhs, String explicitSourceAlias, SqlAliasBase explicitSqlAliasBase, SqlAstJoinType sqlAstJoinType, boolean fetched, Consumer<Predicate> predicateConsumer, SqlAstCreationState creationState)Create the "join", but return a TableGroup.TableGroupJoincreateTableGroupJoin(NavigablePath navigablePath, TableGroup lhs, String explicitSourceAlias, SqlAliasBase explicitSqlAliasBase, SqlAstJoinType sqlAstJoinType, boolean fetched, boolean addsPredicate, SqlAstCreationState creationState)Create a TableGroupJoin.default SqlAstJoinTypedetermineSqlJoinType(TableGroup lhs, SqlAstJoinType requestedJoinType, boolean fetched)SqlAstJoinTypegetDefaultSqlAstJoinType(TableGroup parentTableGroup)booleanisSimpleJoinPredicate(Predicate predicate)Returns whether the given predicate is a simple join predicate for this attribute.-
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
addToCacheKey, disassemble, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue, getJdbcMappings, getJdbcTypeCount
-
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
forEachJdbcType, getJdbcMapping, getSingleJdbcMapping
-
Methods inherited from interface org.hibernate.metamodel.mapping.ModelPart
applySqlSelections, applySqlSelections, areEqual, asAttributeMapping, asBasicValuedModelPart, asEntityMappingType, breakDownJdbcValues, breakDownJdbcValues, createDomainResult, decompose, decompose, findContainingEntityMapping, forEachSelectable, forEachSelectable, getJavaType, getNavigableRole, getPartMappingType, getPartName, hasPartitionedSelectionMapping, isEntityIdentifierMapping, isVirtual
-
Methods inherited from interface org.hibernate.metamodel.mapping.ModelPartContainer
findByPath, findByPath, findSubPart, forEachSubPart, forEachSubPart, visitSubParts
-
Methods inherited from interface org.hibernate.sql.ast.tree.from.TableGroupProducer
containsTableReference, getSqlAliasStem
-
-
-
-
Method Detail
-
getDefaultSqlAstJoinType
SqlAstJoinType getDefaultSqlAstJoinType(TableGroup parentTableGroup)
-
isSimpleJoinPredicate
boolean isSimpleJoinPredicate(Predicate predicate)
Returns whether the given predicate is a simple join predicate for this attribute. This is useful to understand if a predicate has additional conjunctions other than the FK related predicate.
-
createTableGroupJoin
TableGroupJoin createTableGroupJoin(NavigablePath navigablePath, TableGroup lhs, String explicitSourceAlias, SqlAliasBase explicitSqlAliasBase, SqlAstJoinType sqlAstJoinType, boolean fetched, boolean addsPredicate, SqlAstCreationState creationState)
Create a TableGroupJoin.- Parameters:
navigablePath- The NavigablePath to the joinlhs- The join's (L)eft-(H)and (S)ideexplicitSqlAliasBase- A specific SqlAliasBase to use. May benullindicating one should be created using the SqlAliasBaseGenerator fromcreationStatesqlAstJoinType- An explicit join-type. May be null to signal that the join is for an implicit path.addsPredicate- Indicates there are explicit, additional predicates (from an SQM tree ON/WITH clause)
-
createRootTableGroupJoin
TableGroup createRootTableGroupJoin(NavigablePath navigablePath, TableGroup lhs, String explicitSourceAlias, SqlAliasBase explicitSqlAliasBase, SqlAstJoinType sqlAstJoinType, boolean fetched, Consumer<Predicate> predicateConsumer, SqlAstCreationState creationState)
Create the "join", but return a TableGroup. Intended for creating sub-query correlations. E.g., givenfrom SomeEntity e where exists ( select 1 from AnotherEntity a where e.association.attr = 1 )We call this for the `e.association` path.- Parameters:
navigablePath- The NavigablePath to the joinlhs- The join's (L)eft-(H)and (S)ideexplicitSqlAliasBase- A specific SqlAliasBase to use. May benullindicating one should be created using the SqlAliasBaseGenerator fromcreationStatesqlAstJoinType- An explicit join-type. May be null to signal that the join is for an implicit path.predicateConsumer- Consumer for additional predicates from the producer's mapping.
-
determineSqlJoinType
default SqlAstJoinType determineSqlJoinType(TableGroup lhs, SqlAstJoinType requestedJoinType, boolean fetched)
-
-