类 FetchStyleLoadPlanBuildingAssociationVisitationStrategy
- java.lang.Object
-
- org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy
-
- org.hibernate.loader.plan.build.internal.FetchStyleLoadPlanBuildingAssociationVisitationStrategy
-
- 所有已实现的接口:
LoadPlanBuildingAssociationVisitationStrategy,LoadPlanBuildingContext,AssociationVisitationStrategy
public class FetchStyleLoadPlanBuildingAssociationVisitationStrategy extends AbstractLoadPlanBuildingAssociationVisitationStrategy
LoadPlanBuildingAssociationVisitationStrategy implementation used for building LoadPlans based on metamodel-defined fetching. Built LoadPlans contain a single root return object, either anEntityReturnor aCollectionReturn.- 作者:
- Steve Ebersole
-
-
嵌套类概要
-
从类继承的嵌套类/接口 org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy
AbstractLoadPlanBuildingAssociationVisitationStrategy.PropertyPathStack
-
-
字段概要
-
从类继承的字段 org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy
currentPropertyPath
-
-
构造器概要
构造器 构造器 说明 FetchStyleLoadPlanBuildingAssociationVisitationStrategy(SessionFactoryImplementor sessionFactory, LoadQueryInfluencers loadQueryInfluencers, LockMode lockMode)Constructs a FetchStyleLoadPlanBuildingAssociationVisitationStrategy.
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected voidaddRootReturn(Return rootReturn)protected FetchStrategyadjustJoinFetchIfNeeded(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)If required by this strategy, returns a differentFetchStrategyfrom what is specified for the given association attribute.LoadPlanbuildLoadPlan()After visitation is done, build the load plan.protected FetchStrategydetermineFetchStrategy(AssociationAttributeDefinition attributeDefinition)voidfinishingEntityIdentifier(EntityIdentifierDefinition identifierDefinition)Notification we are finishing walking an entity.protected booleanhandleAssociationAttribute(AssociationAttributeDefinition attributeDefinition)protected booleanisTooManyCollections()voidstartingEntityIdentifier(EntityIdentifierDefinition identifierDefinition)Notification we are starting to walk the identifier of an entity.protected booleansupportsRootCollectionReturns()protected booleansupportsRootEntityReturns()-
从类继承的方法 org.hibernate.loader.plan.build.internal.AbstractLoadPlanBuildingAssociationVisitationStrategy
associationKeyRegistered, currentDepth, currentSource, finish, finishingAttribute, finishingCollection, finishingCollectionElements, finishingCollectionIndex, finishingComposite, finishingEntity, foundAny, foundCircularAssociation, getQuerySpaces, getSessionFactory, handleCompositeAttribute, isDuplicateAssociationKey, registeredFetchSource, sessionFactory, start, startingAttribute, startingCollection, startingCollectionElements, startingCollectionIndex, startingComposite, startingEntity
-
-
-
-
构造器详细资料
-
FetchStyleLoadPlanBuildingAssociationVisitationStrategy
public FetchStyleLoadPlanBuildingAssociationVisitationStrategy(SessionFactoryImplementor sessionFactory, LoadQueryInfluencers loadQueryInfluencers, LockMode lockMode)
Constructs a FetchStyleLoadPlanBuildingAssociationVisitationStrategy.- 参数:
sessionFactory- The session factoryloadQueryInfluencers- The options which can influence the SQL query needed to perform the load.lockMode- The lock mode.
-
-
方法详细资料
-
supportsRootEntityReturns
protected boolean supportsRootEntityReturns()
-
supportsRootCollectionReturns
protected boolean supportsRootCollectionReturns()
-
addRootReturn
protected void addRootReturn(Return rootReturn)
-
startingEntityIdentifier
public void startingEntityIdentifier(EntityIdentifierDefinition identifierDefinition)
从接口复制的说明:AssociationVisitationStrategyNotification we are starting to walk the identifier of an entity.- 指定者:
startingEntityIdentifier在接口中AssociationVisitationStrategy- 覆盖:
startingEntityIdentifier在类中AbstractLoadPlanBuildingAssociationVisitationStrategy- 参数:
identifierDefinition- The identifier we are preparing to walk
-
finishingEntityIdentifier
public void finishingEntityIdentifier(EntityIdentifierDefinition identifierDefinition)
从接口复制的说明:AssociationVisitationStrategyNotification we are finishing walking an entity.- 指定者:
finishingEntityIdentifier在接口中AssociationVisitationStrategy- 覆盖:
finishingEntityIdentifier在类中AbstractLoadPlanBuildingAssociationVisitationStrategy- 参数:
identifierDefinition- The identifier we are finishing walking.
-
handleAssociationAttribute
protected boolean handleAssociationAttribute(AssociationAttributeDefinition attributeDefinition)
-
buildLoadPlan
public LoadPlan buildLoadPlan()
After visitation is done, build the load plan.- 返回:
- The load plan
-
determineFetchStrategy
protected FetchStrategy determineFetchStrategy(AssociationAttributeDefinition attributeDefinition)
-
adjustJoinFetchIfNeeded
protected FetchStrategy adjustJoinFetchIfNeeded(AssociationAttributeDefinition attributeDefinition, FetchStrategy fetchStrategy)
If required by this strategy, returns a differentFetchStrategyfrom what is specified for the given association attribute.- 参数:
attributeDefinition- The association attribute definition.fetchStrategy- The fetch strategy forattributeDefinition.- 返回:
- the
FetchStrategy, possibly adjusted by this strategy.
-
isTooManyCollections
protected boolean isTooManyCollections()
-
-