Package org.hibernate.loader.internal
Class IdentifierLoadAccessImpl<T>
- java.lang.Object
-
- org.hibernate.loader.internal.IdentifierLoadAccessImpl<T>
-
- All Implemented Interfaces:
IdentifierLoadAccess<T>,JavaType.CoercionContext
public class IdentifierLoadAccessImpl<T> extends Object implements IdentifierLoadAccess<T>, JavaType.CoercionContext
Standard implementation of load-by-id
-
-
Constructor Summary
Constructors Constructor Description IdentifierLoadAccessImpl(LoadAccessContext context, EntityPersister entityPersister)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IdentifierLoadAccess<T>disableFetchProfile(String profileName)Customize the associations fetched by specifying a fetch profile that should be disabled during this operation.protected TdoGetReference(Object id)protected TdoLoad(Object id)IdentifierLoadAccess<T>enableFetchProfile(String profileName)Customize the associations fetched by specifying a fetch profile that should be enabled during this operation.TgetReference(Object id)Return the persistent instance with the given identifier, assuming that the instance exists.TypeConfigurationgetTypeConfiguration()Tload(Object id)Return the persistent instance with the given identifier, or null if there is no such persistent instance.Optional<T>loadOptional(Object id)Just likeIdentifierLoadAccess.load(java.lang.Object), except that here anOptionalis returned.protected Tperform(Supplier<T> executor)IdentifierLoadAccess<T>with(CacheMode cacheMode)Specify theCacheModeto use when obtaining an entity.IdentifierLoadAccess<T>with(RootGraph<T> graph, GraphSemantic semantic)Customize the associations fetched by specifying an entity graph, and how it should be interpreted.IdentifierLoadAccessImpl<T>with(LockOptions lockOptions)Specify the lock options to use when querying the database.IdentifierLoadAccess<T>withReadOnly(boolean readOnly)Specify whether the entity should be loaded in read-only mode.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.IdentifierLoadAccess
with, withFetchGraph, withLoadGraph
-
-
-
-
Constructor Detail
-
IdentifierLoadAccessImpl
public IdentifierLoadAccessImpl(LoadAccessContext context, EntityPersister entityPersister)
-
-
Method Detail
-
with
public final IdentifierLoadAccessImpl<T> with(LockOptions lockOptions)
Description copied from interface:IdentifierLoadAccessSpecify the lock options to use when querying the database.- Specified by:
within interfaceIdentifierLoadAccess<T>- Parameters:
lockOptions- The lock options to use- Returns:
this, for method chaining
-
with
public IdentifierLoadAccess<T> with(CacheMode cacheMode)
Description copied from interface:IdentifierLoadAccessSpecify theCacheModeto use when obtaining an entity.- Specified by:
within interfaceIdentifierLoadAccess<T>- Parameters:
cacheMode- TheCacheModeto use- Returns:
this, for method chaining
-
withReadOnly
public IdentifierLoadAccess<T> withReadOnly(boolean readOnly)
Description copied from interface:IdentifierLoadAccessSpecify whether the entity should be loaded in read-only mode.- Specified by:
withReadOnlyin interfaceIdentifierLoadAccess<T>- See Also:
Session.setDefaultReadOnly(boolean)
-
with
public IdentifierLoadAccess<T> with(RootGraph<T> graph, GraphSemantic semantic)
Description copied from interface:IdentifierLoadAccessCustomize the associations fetched by specifying an entity graph, and how it should be interpreted.- Specified by:
within interfaceIdentifierLoadAccess<T>
-
getReference
public final T getReference(Object id)
Description copied from interface:IdentifierLoadAccessReturn the persistent instance with the given identifier, assuming that the instance exists. This method might return a proxied instance that is initialized on-demand, when a non-identifier method is accessed.You should not use this method to determine if an instance exists; to check for existence, use
IdentifierLoadAccess.load(java.lang.Object)instead. Use this only to retrieve an instance that you assume exists, where non-existence would be an actual error.- Specified by:
getReferencein interfaceIdentifierLoadAccess<T>- Parameters:
id- The identifier for which to obtain a reference- Returns:
- the persistent instance or proxy
-
load
public final T load(Object id)
Description copied from interface:IdentifierLoadAccessReturn the persistent instance with the given identifier, or null if there is no such persistent instance. If the instance is already associated with the session, return that instance, initializing it if needed. This method never returns an uninitialized instance.- Specified by:
loadin interfaceIdentifierLoadAccess<T>- Parameters:
id- The identifier- Returns:
- The persistent instance or
null
-
loadOptional
public Optional<T> loadOptional(Object id)
Description copied from interface:IdentifierLoadAccessJust likeIdentifierLoadAccess.load(java.lang.Object), except that here anOptionalis returned.- Specified by:
loadOptionalin interfaceIdentifierLoadAccess<T>- Parameters:
id- The identifier- Returns:
- The persistent instance, if any, as an
Optional
-
getTypeConfiguration
public TypeConfiguration getTypeConfiguration()
- Specified by:
getTypeConfigurationin interfaceJavaType.CoercionContext
-
enableFetchProfile
public IdentifierLoadAccess<T> enableFetchProfile(String profileName)
Description copied from interface:IdentifierLoadAccessCustomize the associations fetched by specifying a fetch profile that should be enabled during this operation.This allows the session-level fetch profiles to be temporarily overridden.
- Specified by:
enableFetchProfilein interfaceIdentifierLoadAccess<T>
-
disableFetchProfile
public IdentifierLoadAccess<T> disableFetchProfile(String profileName)
Description copied from interface:IdentifierLoadAccessCustomize the associations fetched by specifying a fetch profile that should be disabled during this operation.This allows the session-level fetch profiles to be temporarily overridden.
- Specified by:
disableFetchProfilein interfaceIdentifierLoadAccess<T>
-
-