类 AliasResolutionContextImpl
- java.lang.Object
-
- org.hibernate.loader.plan.exec.internal.AliasResolutionContextImpl
-
- 所有已实现的接口:
AliasResolutionContext
public class AliasResolutionContextImpl extends Object implements AliasResolutionContext
Provides aliases that are used by load queries and ResultSet processors.- 作者:
- Gail Badner, Steve Ebersole
-
-
构造器概要
构造器 构造器 说明 AliasResolutionContextImpl(SessionFactoryImplementor sessionFactory)Constructs aAliasResolutionContextImplwithout any source aliases.AliasResolutionContextImpl(SessionFactoryImplementor sessionFactory, int suffixSeed)Constructs a AliasResolutionContextImpl with the specified seed for unique alias suffixes.
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voiddumpResolutions(LoadPlan loadPlan)USes its defined logger to generate a resolution report.CollectionReferenceAliasesgenerateCollectionReferenceAliases(String collectionQuerySpaceUid, CollectionPersister persister, String elementQuerySpaceUid)Generate the collection reference aliases for a particularCollectionReferenceand register the generated value using the query space UID.EntityReferenceAliasesgenerateEntityReferenceAliases(String uid, EntityPersister entityPersister)Generate the entity reference aliases for a particularEntityReferenceand register the generated value using the query space UID.voidregisterCompositeQuerySpaceUidResolution(String rightHandSideUid, String leftHandSideTableAlias)CollectionReferenceAliasesresolveCollectionReferenceAliases(String querySpaceUid)Resolve the given QuerySpace UID to the CollectionReferenceAliases representing the SQL aliases used in building the SQL query.EntityReferenceAliasesresolveEntityReferenceAliases(String querySpaceUid)Resolve the given QuerySpace UID to the EntityReferenceAliases representing the SQL aliases used in building the SQL query.StringresolveSqlTableAliasFromQuerySpaceUid(String querySpaceUid)protected SessionFactoryImplementorsessionFactory()
-
-
-
构造器详细资料
-
AliasResolutionContextImpl
public AliasResolutionContextImpl(SessionFactoryImplementor sessionFactory)
Constructs aAliasResolutionContextImplwithout any source aliases. This form is used in non-query contexts. Example of query contexts are: HQL, criteria, etc.- 参数:
sessionFactory- The session factory
-
AliasResolutionContextImpl
public AliasResolutionContextImpl(SessionFactoryImplementor sessionFactory, int suffixSeed)
Constructs a AliasResolutionContextImpl with the specified seed for unique alias suffixes.- 参数:
sessionFactory- The session factorysuffixSeed- The seed value to use for generating the suffix used when generating SQL aliases.
-
-
方法详细资料
-
sessionFactory
protected SessionFactoryImplementor sessionFactory()
-
generateEntityReferenceAliases
public EntityReferenceAliases generateEntityReferenceAliases(String uid, EntityPersister entityPersister)
Generate the entity reference aliases for a particularEntityReferenceand register the generated value using the query space UID. Once generated, there are two methods that can be used to do look ups by the specified query space UID:-
resolveEntityReferenceAliases(String)can be used to look up the returned entity reference aliases; -
resolveSqlTableAliasFromQuerySpaceUid(String)can be used to look up SQL table alias.
- 参数:
uid- The query space UID for the entity reference.entityPersister- The entity persister for entity reference.- 返回:
- the generated entity reference aliases.
- 另请参阅:
EntityReference.getQuerySpaceUid(),EntityReference.getEntityPersister()
-
-
generateCollectionReferenceAliases
public CollectionReferenceAliases generateCollectionReferenceAliases(String collectionQuerySpaceUid, CollectionPersister persister, String elementQuerySpaceUid)
Generate the collection reference aliases for a particularCollectionReferenceand register the generated value using the query space UID. Once generated, there are two methods that can be used to do look ups by the specified query space UID:- {@link ##resolveCollectionReferenceAliases(String)} can be used to look up the returned collection reference aliases;
-
resolveSqlTableAliasFromQuerySpaceUid(String)can be used to look up the SQL collection table alias.
- 参数:
collectionQuerySpaceUid- The query space UID for the collection reference.persister- The collection persister for collection reference.elementQuerySpaceUid- The query space UID for the collection element if the element is an entity type; null, otherwise.- 返回:
- the generated collection reference aliases.
- 抛出:
IllegalArgumentException- if the collection element is an entity type andelementQuerySpaceUidis null.- 另请参阅:
CollectionReference.getQuerySpaceUid(),CollectionReference.getCollectionPersister()
-
resolveSqlTableAliasFromQuerySpaceUid
public String resolveSqlTableAliasFromQuerySpaceUid(String querySpaceUid)
-
resolveEntityReferenceAliases
public EntityReferenceAliases resolveEntityReferenceAliases(String querySpaceUid)
从接口复制的说明:AliasResolutionContextResolve the given QuerySpace UID to the EntityReferenceAliases representing the SQL aliases used in building the SQL query. Assumes that a QuerySpace has already been registered. As such this method simply returnsnullif no QuerySpace with that UID has yet been resolved in the context.- 指定者:
resolveEntityReferenceAliases在接口中AliasResolutionContext- 参数:
querySpaceUid- The QuerySpace UID whose EntityReferenceAliases we want to look up.- 返回:
- The corresponding QuerySpace UID, or
null.
-
resolveCollectionReferenceAliases
public CollectionReferenceAliases resolveCollectionReferenceAliases(String querySpaceUid)
从接口复制的说明:AliasResolutionContextResolve the given QuerySpace UID to the CollectionReferenceAliases representing the SQL aliases used in building the SQL query. Assumes that a QuerySpace has already been registered. As such this method simply returnsnullif no QuerySpace with that UID has yet been resolved in the context.- 指定者:
resolveCollectionReferenceAliases在接口中AliasResolutionContext- 参数:
querySpaceUid- The QuerySpace UID whose CollectionReferenceAliases we want to look up.- 返回:
- The corresponding QuerySpace UID, or
null.
-
registerCompositeQuerySpaceUidResolution
public void registerCompositeQuerySpaceUidResolution(String rightHandSideUid, String leftHandSideTableAlias)
-
dumpResolutions
public void dumpResolutions(LoadPlan loadPlan)
USes its defined logger to generate a resolution report.- 参数:
loadPlan- The loadplan that was processed.
-
-