Package org.hibernate

Interface MultiIdentifierLoadAccess<T>


  • public interface MultiIdentifierLoadAccess<T>
    Loads multiple entities at once by identifiers, ultimately via one of the multiLoad(K...) methods, using the various options specified (if any)
    • Method Detail

      • 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
      • 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 to multiLoad([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. See enableOrderedReturn(boolean) and enableReturnOfDeletedEntities(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. See enableOrderedReturn(boolean) and enableReturnOfDeletedEntities(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.