Top Description Fields Constructors Methods
org.hibernate.loader.plan.build.internal

public Class FetchStyleLoadPlanBuildingAssociationVisitationStrategy

extends AbstractLoadPlanBuildingAssociationVisitationStrategy
Class Inheritance
Known Direct Subclasses
org.hibernate.loader.plan.build.internal.CascadeStyleLoadPlanBuildingAssociationVisitationStrategy
Imports
org.hibernate.HibernateException, .LockMode, org.hibernate.engine.FetchStrategy, .FetchStyle, .FetchTiming, org.hibernate.engine.spi.LoadQueryInfluencers, .SessionFactoryImplementor, org.hibernate.internal.CoreLogging, org.hibernate.loader.plan.spi.CollectionReturn, .EntityReference, .EntityReturn, .FetchSource, .LoadPlan, .Return, org.hibernate.persister.collection.CollectionPersister, org.hibernate.persister.entity.EntityPersister, org.hibernate.persister.walking.spi.AssociationAttributeDefinition, .EncapsulatedEntityIdentifierDefinition, .EntityIdentifierDefinition, .NonEncapsulatedEntityIdentifierDefinition, .WalkingException, org.hibernate.type.CompositeType, .EmbeddedComponentType, .EntityType, .ForeignKeyDirection, .OneToOneType, .Type, org.jboss.logging.Logger

LoadPlanBuildingAssociationVisitationStrategy implementation used for building LoadPlans based on metamodel-defined fetching. Built LoadPlans contain a single root return object, either an EntityReturn or a CollectionReturn.
Author
Steve Ebersole

Field Summary

Modifier and TypeField and Description
private final LoadQueryInfluencers
private final LockMode
private static final Logger
private Return
private boolean
Inherited from org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy:
currentPropertyPath

Constructor Summary

AccessConstructor and Description
public
FetchStyleLoadPlanBuildingAssociationVisitationStrategy(SessionFactoryImplementor
The session factory
sessionFactory
,
LoadQueryInfluencers
The options which can influence the SQL query needed to perform the load.
loadQueryInfluencers
,
LockMode
The lock mode.
lockMode
)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.
Constructs a FetchStyleLoadPlanBuildingAssociationVisitationStrategy.

Method Summary

Modifier and TypeMethod and Description
protected void
protected FetchStrategy

Returns:

the FetchStrategy, possibly adjusted by this strategy.
adjustJoinFetchIfNeeded
(AssociationAttributeDefinition
The association attribute definition.
attributeDefinition
,
FetchStrategy
The fetch strategy for attributeDefinition.
fetchStrategy
)

If required by this strategy, returns a different FetchStrategy from what is specified for the given association attribute.

public LoadPlan
protected FetchStrategy
public void
protected boolean
protected boolean
private static boolean
public void
protected boolean
protected boolean
Inherited from org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy:
associationKeyRegisteredcurrentDepthcurrentSourcefinishfinishingAttributefinishingCollectionfinishingCollectionElementsfinishingCollectionIndexfinishingCompositefinishingEntityfoundAnyfoundCircularAssociationgetQuerySpacesgetSessionFactoryhandleCompositeAttributeisDuplicateAssociationKeyregisteredFetchSourcesessionFactorystartstartingAttributestartingCollectionstartingCollectionElementsstartingCollectionIndexstartingCompositestartingEntity

Field Detail

loadQueryInfluencersback to summary
private final LoadQueryInfluencers loadQueryInfluencers
lockModeback to summary
private final LockMode lockMode
logback to summary
private static final Logger log

Hides org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.log.

rootReturnback to summary
private Return rootReturn
vetoHandleAssociationAttributeback to summary
private boolean vetoHandleAssociationAttribute

Constructor Detail

FetchStyleLoadPlanBuildingAssociationVisitationStrategyback to summary
public FetchStyleLoadPlanBuildingAssociationVisitationStrategy(SessionFactoryImplementor sessionFactory, LoadQueryInfluencers loadQueryInfluencers, LockMode lockMode)

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Constructs a FetchStyleLoadPlanBuildingAssociationVisitationStrategy.

Parameters
sessionFactory:SessionFactoryImplementor

The session factory

loadQueryInfluencers:LoadQueryInfluencers

The options which can influence the SQL query needed to perform the load.

lockMode:LockMode

The lock mode.

Method Detail

addRootReturnback to summary
protected void addRootReturn(Return rootReturn)

Implements abstract org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.addRootReturn.

Annotations
@Override
adjustJoinFetchIfNeededback to summary
protected FetchStrategy adjustJoinFetchIfNeeded(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)

If required by this strategy, returns a different FetchStrategy from what is specified for the given association attribute.

Parameters
attributeDefinition:AssociationAttributeDefinition

The association attribute definition.

fetchStrategy:FetchStrategy

The fetch strategy for attributeDefinition.

Returns:FetchStrategy

the FetchStrategy, possibly adjusted by this strategy.

buildLoadPlanback to summary
public LoadPlan buildLoadPlan()

Implements org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy.buildLoadPlan.

Doc from org.hibernate.loader.plan.build.spi.LoadPlanBuildingAssociationVisitationStrategy.buildLoadPlan.

After visitation is done, build the load plan.

Returns:LoadPlan

The load plan

Annotations
@Override
determineFetchStrategyback to summary
protected FetchStrategy determineFetchStrategy(AssociationAttributeDefinition attributeDefinition)

Implements abstract org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.determineFetchStrategy.

Annotations
@Override
finishingEntityIdentifierback to summary
public void finishingEntityIdentifier(EntityIdentifierDefinition identifierDefinition)

Overrides org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.finishingEntityIdentifier.

Implements org.hibernate.persister.walking.spi.AssociationVisitationStrategy.finishingEntityIdentifier.

Doc from org.hibernate.persister.walking.spi.AssociationVisitationStrategy.finishingEntityIdentifier.

Notification we are finishing walking an entity.

Parameters
identifierDefinition:EntityIdentifierDefinition

The identifier we are finishing walking.

Annotations
@Override
handleAssociationAttributeback to summary
protected boolean handleAssociationAttribute(AssociationAttributeDefinition attributeDefinition)

Overrides org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.handleAssociationAttribute.

Annotations
@Override
isTooManyCollectionsback to summary
protected boolean isTooManyCollections()

Overrides org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.isTooManyCollections.

Annotations
@Override
shouldVetoHandleAssociationAttributeInIdback to summary
private static boolean shouldVetoHandleAssociationAttributeInId(Return rootReturn, EntityIdentifierDefinition identifierDefinition)
startingEntityIdentifierback to summary
public void startingEntityIdentifier(EntityIdentifierDefinition identifierDefinition)

Overrides org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.startingEntityIdentifier.

Implements org.hibernate.persister.walking.spi.AssociationVisitationStrategy.startingEntityIdentifier.

Doc from org.hibernate.persister.walking.spi.AssociationVisitationStrategy.startingEntityIdentifier.

Notification we are starting to walk the identifier of an entity.

Parameters
identifierDefinition:EntityIdentifierDefinition

The identifier we are preparing to walk

Annotations
@Override
supportsRootCollectionReturnsback to summary
protected boolean supportsRootCollectionReturns()

Overrides org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.supportsRootCollectionReturns.

Annotations
@Override
supportsRootEntityReturnsback to summary
protected boolean supportsRootEntityReturns()

Overrides org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy.supportsRootEntityReturns.

Annotations
@Override