Package org.hibernate.bytecode.spi
Interface BytecodeEnhancementMetadata
-
- All Known Implementing Classes:
BytecodeEnhancementMetadataNonPojoImpl
,BytecodeEnhancementMetadataPojoImpl
public interface BytecodeEnhancementMetadata
Encapsulates bytecode enhancement information about a particular entity.
-
-
Method Summary
-
-
-
Method Detail
-
getEntityName
String getEntityName()
The name of the entity to which this metadata applies.- Returns:
- The entity name
-
isEnhancedForLazyLoading
boolean isEnhancedForLazyLoading()
Has the entity class been bytecode enhanced for lazy loading?- Returns:
true
indicates the entity class is enhanced for Hibernate use in lazy loading;false
indicates it is not
-
getLazyAttributesMetadata
LazyAttributesMetadata getLazyAttributesMetadata()
-
createEnhancedProxy
PersistentAttributeInterceptable createEnhancedProxy(EntityKey keyToLoad, boolean addEmptyEntry, SharedSessionContractImplementor session)
Create an "enhancement as proxy" instance for the given entity- API Note:
- The `addEmptyEntry` parameter is used to avoid creation of `EntityEntry` instances when we do not need them. - mainly from StatelessSession
-
injectInterceptor
LazyAttributeLoadingInterceptor injectInterceptor(Object entity, Object identifier, SharedSessionContractImplementor session) throws NotInstrumentedException
Build and inject an interceptor instance into the enhanced entity.- Parameters:
entity
- The entity into which built interceptor should be injectedidentifier
-session
- The session to which the entity instance belongs.- Returns:
- The built and injected interceptor
- Throws:
NotInstrumentedException
- Thrown ifisEnhancedForLazyLoading()
returnsfalse
-
injectInterceptor
void injectInterceptor(Object entity, PersistentAttributeInterceptor interceptor, SharedSessionContractImplementor session)
-
injectEnhancedEntityAsProxyInterceptor
void injectEnhancedEntityAsProxyInterceptor(Object entity, EntityKey entityKey, SharedSessionContractImplementor session)
-
extractInterceptor
@Nullable LazyAttributeLoadingInterceptor extractInterceptor(Object entity) throws NotInstrumentedException
Extract the field interceptor instance from the enhanced entity.- Parameters:
entity
- The entity from which to extract the interceptor- Returns:
- The extracted interceptor
- Throws:
NotInstrumentedException
- Thrown ifisEnhancedForLazyLoading()
returnsfalse
-
extractLazyInterceptor
@Nullable BytecodeLazyAttributeInterceptor extractLazyInterceptor(Object entity) throws NotInstrumentedException
- Throws:
NotInstrumentedException
-
hasUnFetchedAttributes
boolean hasUnFetchedAttributes(Object entity)
-
-