Interface MultiIdentifierLoadAccess<T>
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:
-
Method Summary
Modifier and TypeMethodDescriptiondisableFetchProfile
(String profileName) Customize the associations fetched by specifying a fetch profile that should be disabled during this operation.enableFetchProfile
(String profileName) Customize the associations fetched by specifying a fetch profile that should be enabled during this operation.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...)
?enableReturnOfDeletedEntities
(boolean enabled) ShouldmultiLoad(K...)
return entity instances that have been marked for removal in the current session, but not yetdelete
d in the database?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.Retrieve the entities with the given identifiers.multiLoad
(K... ids) Retrieve the entities with the given identifiers.Specify theCacheMode
to use when obtaining an entity.default MultiIdentifierLoadAccess<T>
Deprecated.with
(RootGraph<T> graph, GraphSemantic semantic) Customize the associations fetched by specifying an entity graph, and how it should be interpreted.with
(LockOptions lockOptions) Specify the lock options to use when querying the database.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.withReadOnly
(boolean readOnly) Specify whether the entities should be loaded in read-only mode.
-
Method Details
-
with
Specify the lock options to use when querying the database.- Parameters:
lockOptions
- The lock options to use- Returns:
this
, for method chaining
-
with
Specify theCacheMode
to use when obtaining an entity.- Parameters:
cacheMode
- TheCacheMode
to use- Returns:
this
, for method chaining
-
withReadOnly
Specify whether the entities should be loaded in read-only mode.- Since:
- 7.0
- See Also:
-
withFetchGraph
Override the associations fetched by default by specifying the complete list of associations to be fetched as an entity graph.- Since:
- 6.3
-
withLoadGraph
Augment the associations fetched by default by specifying a list of additional associations to be fetched as an entity graph.- Since:
- 6.3
-
with
Deprecated. -
with
Customize the associations fetched by specifying an entity graph, and how it should be interpreted. -
enableFetchProfile
Customize 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.
- Since:
- 7.0
-
disableFetchProfile
Customize 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.
- Since:
- 7.0
-
withBatchSize
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.
The performance impact of setting a batch size depends on whether a SQL array may be used to pass the list of identifiers to the database:
- for databases which support standard SQL arrays, a smaller batch size might be extremely inefficient compared to a very large batch size or no batching at all, but
- on the other hand, for databases with no SQL array type, a large batch size results in long SQL statements with many JDBC parameters.
A batch size is considered a hint.
- Parameters:
batchSize
- The batch size- Returns:
this
, for method chaining
-
enableSessionCheck
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
ShouldmultiLoad(K...)
return entity instances that have been marked 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
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
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
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.
-
withLoadGraph(org.hibernate.graph.RootGraph<T>)