Interface MultiIdentifierLoadAccess<T>
-
public interface MultiIdentifierLoadAccess<T>
Loads multiple instances of a given entity type at once, by specifying a list of identifier values. This allows the entities to be fetched from the database in batches.var graph = session.createEntityGraph(Book.class); graph.addSubgraph(Book_.publisher); List<Book> books = session.byMultipleIds(Book.class) .withFetchGraph(graph) .withBatchSize(20) .multiLoad(bookIds);
- See Also:
Session.byMultipleIds(Class)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description MultiIdentifierLoadAccess<T>
enableOrderedReturn(boolean enabled)
Should the returned list of entity instances be ordered, with the position of an entity instance determined by the position of its identifier in the list if ids passed tomultiLoad(K...)
?MultiIdentifierLoadAccess<T>
enableReturnOfDeletedEntities(boolean enabled)
ShouldmultiLoad(K...)
return entity instances that have beenmarked for removal
in the current session, but not yetdelete
d in the database?MultiIdentifierLoadAccess<T>
enableSessionCheck(boolean enabled)
Specifies whether the ids of managed entity instances already cached in the current persistence context should be excluded from the list of ids sent to the database.<K> List<T>
multiLoad(List<K> ids)
Retrieve the entities with the given identifiers.<K> List<T>
multiLoad(K... ids)
Retrieve the entities with the given identifiers.MultiIdentifierLoadAccess<T>
with(CacheMode cacheMode)
Specify theCacheMode
to use when obtaining an entity.default MultiIdentifierLoadAccess<T>
with(RootGraph<T> graph)
Deprecated.MultiIdentifierLoadAccess<T>
with(RootGraph<T> graph, GraphSemantic semantic)
Customize the associations fetched by specifying an entity graph, and how it should be interpreted.MultiIdentifierLoadAccess<T>
with(LockOptions lockOptions)
Specify the lock options to use when querying the database.MultiIdentifierLoadAccess<T>
withBatchSize(int batchSize)
Specify a batch size, that is, how many entities should be fetched in each request to the database.default MultiIdentifierLoadAccess<T>
withFetchGraph(RootGraph<T> graph)
Override the associations fetched by default by specifying the complete list of associations to be fetched as an entity graph.default MultiIdentifierLoadAccess<T>
withLoadGraph(RootGraph<T> graph)
Augment the associations fetched by default by specifying a list of additional associations to be fetched as an entity graph.
-
-
-
Method Detail
-
with
MultiIdentifierLoadAccess<T> with(LockOptions lockOptions)
Specify the lock options to use when querying the database.- Parameters:
lockOptions
- The lock options to use- Returns:
this
, for method chaining
-
with
MultiIdentifierLoadAccess<T> with(CacheMode cacheMode)
Specify theCacheMode
to use when obtaining an entity.- Parameters:
cacheMode
- TheCacheMode
to use- Returns:
this
, for method chaining
-
withFetchGraph
default MultiIdentifierLoadAccess<T> withFetchGraph(RootGraph<T> graph)
Override the associations fetched by default by specifying the complete list of associations to be fetched as an entity graph.
-
withLoadGraph
default MultiIdentifierLoadAccess<T> withLoadGraph(RootGraph<T> graph)
Augment the associations fetched by default by specifying a list of additional associations to be fetched as an entity graph.
-
with
@Deprecated(since="6.3") default MultiIdentifierLoadAccess<T> with(RootGraph<T> graph)
Deprecated.
-
with
MultiIdentifierLoadAccess<T> with(RootGraph<T> graph, GraphSemantic semantic)
Customize the associations fetched by specifying an entity graph, and how it should be interpreted.
-
withBatchSize
MultiIdentifierLoadAccess<T> withBatchSize(int batchSize)
Specify a batch size, that is, how many entities should be fetched in each request to the database.- By default, the batch sizing strategy is determined by the SQL dialect, but
- if some
batchSize>1
is specified as an argument to this method, then that batch size will be used.
If an explicit batch size is set manually, care should be taken to not exceed the capabilities of the underlying database.
A batch size is considered a hint.
- Parameters:
batchSize
- The batch size- Returns:
this
, for method chaining
-
enableSessionCheck
MultiIdentifierLoadAccess<T> enableSessionCheck(boolean enabled)
Specifies whether the ids of managed entity instances already cached in the current persistence context should be excluded from the list of ids sent to the database.By default, all ids are included and sent to the database.
- Parameters:
enabled
-true
if they should be excluded;false
if they should be included.- Returns:
this
, for method chaining
-
enableReturnOfDeletedEntities
MultiIdentifierLoadAccess<T> enableReturnOfDeletedEntities(boolean enabled)
ShouldmultiLoad(K...)
return entity instances that have beenmarked for removal
in the current session, but not yetdelete
d in the database?By default, instances marked for removal are replaced by null in the returned list of entities when
enableOrderedReturn(boolean)
is used.- Parameters:
enabled
-true
if removed entities should be returned;false
if they should be replaced by null values.- Returns:
this
, for method chaining
-
enableOrderedReturn
MultiIdentifierLoadAccess<T> enableOrderedReturn(boolean enabled)
Should the returned list of entity instances be ordered, with the position of an entity instance determined by the position of its identifier in the list if ids passed tomultiLoad(K...)
?By default, the returned list is ordered and the positions of the entities correspond to the positions of their ids. In this case, the handling of entities marked for removal becomes important.
- Parameters:
enabled
-true
if entity instances should be ordered;false
if they may be returned in any order.- Returns:
this
, for method chaining
-
multiLoad
<K> List<T> multiLoad(K... ids)
Retrieve the entities with the given identifiers.Note that the options
enableReturnOfDeletedEntities(boolean)
andenableOrderedReturn(boolean)
affect the size and shape of the returned list of entity instances.- Type Parameters:
K
- The identifier type- Parameters:
ids
- The ids to load- Returns:
- The persistent entities.
-
multiLoad
<K> List<T> multiLoad(List<K> ids)
Retrieve the entities with the given identifiers.Note that the options
enableReturnOfDeletedEntities(boolean)
andenableOrderedReturn(boolean)
affect the size and shape of the returned list of entity instances.- Type Parameters:
K
- The identifier type- Parameters:
ids
- The ids to load- Returns:
- The persistent entities.
-
-