Package org.hibernate
Interface MultiIdentifierLoadAccess<T>
-
public interface MultiIdentifierLoadAccess<T>
Loads multiple entities at once by identifiers, ultimately via one of themultiLoad(K...)
methods, using the various options specified (if any)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description MultiIdentifierLoadAccess<T>
enableOrderedReturn(boolean enabled)
Should the return List be ordered and positional in relation to the incoming ids? If enabled (the default), the return List is ordered and positional relative to the incoming ids.MultiIdentifierLoadAccess<T>
enableReturnOfDeletedEntities(boolean enabled)
Should the multi-load operation be allowed to return entities that are locally deleted? A locally deleted entity is one which has been passed to this Session'sSession.delete(java.lang.Object)
/EntityManager.remove(java.lang.Object)
method, but not yet flushed.MultiIdentifierLoadAccess<T>
enableSessionCheck(boolean enabled)
Specify whether we should check the Session to see whether it already contains any of the entities to be loaded in a managed state for the purpose of not including those ids to the batch-load SQL.<K extends java.io.Serializable>
java.util.List<T>multiLoad(java.util.List<K> ids)
Perform a load of multiple entities by identifiers.<K extends java.io.Serializable>
java.util.List<T>multiLoad(K... ids)
Perform a load of multiple entities by identifiers.MultiIdentifierLoadAccess<T>
with(CacheMode cacheMode)
Specify theCacheMode
to use when retrieving the entity.MultiIdentifierLoadAccess<T>
with(LockOptions lockOptions)
Specify theLockOptions
to use when retrieving the entity.MultiIdentifierLoadAccess<T>
withBatchSize(int batchSize)
Specify a batch size for loading the entities (how many at a time).
-
-
-
Method Detail
-
with
MultiIdentifierLoadAccess<T> with(LockOptions lockOptions)
Specify theLockOptions
to use when retrieving the entity.- Parameters:
lockOptions
- The lock options to use.- Returns:
this
, for method chaining
-
with
MultiIdentifierLoadAccess<T> with(CacheMode cacheMode)
Specify theCacheMode
to use when retrieving the entity.- Parameters:
cacheMode
- The CacheMode to use.- Returns:
this
, for method chaining
-
withBatchSize
MultiIdentifierLoadAccess<T> withBatchSize(int batchSize)
Specify a batch size for loading the entities (how many at a time). The default is to use a batch sizing strategy defined by the Dialect in use. Any greater-than-one value here will override that default behavior. If giving an explicit value here, care should be taken to not exceed the capabilities of of the underlying database. Note that overall a batch-size is considered a hint. How the underlying loading mechanism interprets that is completely up to that underlying loading mechanism.- Parameters:
batchSize
- The batch size- Returns:
this
, for method chaining
-
enableSessionCheck
MultiIdentifierLoadAccess<T> enableSessionCheck(boolean enabled)
Specify whether we should check the Session to see whether it already contains any of the entities to be loaded in a managed state for the purpose of not including those ids to the batch-load SQL.- Parameters:
enabled
-true
enables this checking;false
(the default) disables it.- Returns:
this
, for method chaining
-
enableReturnOfDeletedEntities
MultiIdentifierLoadAccess<T> enableReturnOfDeletedEntities(boolean enabled)
Should the multi-load operation be allowed to return entities that are locally deleted? A locally deleted entity is one which has been passed to this Session'sSession.delete(java.lang.Object)
/EntityManager.remove(java.lang.Object)
method, but not yet flushed. The default behavior is to handle them as null in the return (seeenableOrderedReturn(boolean)
).- Parameters:
enabled
-true
enables returning the deleted entities;false
(the default) disables it.- Returns:
this
, for method chaining
-
enableOrderedReturn
MultiIdentifierLoadAccess<T> enableOrderedReturn(boolean enabled)
Should the return List be ordered and positional in relation to the incoming ids? If enabled (the default), the return List is ordered and positional relative to the incoming ids. In other words, a request tomultiLoad([2,1,3])
will return[Entity#2, Entity#1, Entity#3]
. An important distinction is made here in regards to the handling of unknown entities depending on this "ordered return" setting. If enabled a null is inserted into the List at the proper position(s). If disabled, the nulls are not put into the return List. In other words, consumers of the returned ordered List would need to be able to handle null elements.- Parameters:
enabled
-true
(the default) enables ordering;false
disables it.- Returns:
this
, for method chaining
-
multiLoad
<K extends java.io.Serializable> java.util.List<T> multiLoad(K... ids)
Perform a load of multiple entities by identifiers. SeeenableOrderedReturn(boolean)
andenableReturnOfDeletedEntities(boolean)
for options which effect the size and "shape" of the return list.- Type Parameters:
K
- The identifier type- Parameters:
ids
- The ids to load- Returns:
- The persistent entities.
-
multiLoad
<K extends java.io.Serializable> java.util.List<T> multiLoad(java.util.List<K> ids)
Perform a load of multiple entities by identifiers. SeeenableOrderedReturn(boolean)
andenableReturnOfDeletedEntities(boolean)
for options which effect the size and "shape" of the return list.- Type Parameters:
K
- The identifier type- Parameters:
ids
- The ids to load- Returns:
- The persistent entities.
-
-