Package org.hibernate

Interface NaturalIdMultiLoadAccess<T>

  • All Known Implementing Classes:
    NaturalIdMultiLoadAccessStandard

    public interface NaturalIdMultiLoadAccess<T>
    Defines the ability to load multiple entities by simple natural-id simultaneously.
    • Method Detail

      • withBatchSize

        NaturalIdMultiLoadAccess<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 the underlying database.

        Note that overall a batch-size is considered a hint.

        Parameters:
        batchSize - The batch size
        Returns:
        this, for method chaining
      • enableReturnOfDeletedEntities

        NaturalIdMultiLoadAccess<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's Session.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 (see enableOrderedReturn(boolean)).
        Parameters:
        enabled - true enables returning the deleted entities; false (the default) disables it.
        Returns:
        this, for method chaining
      • enableOrderedReturn

        NaturalIdMultiLoadAccess<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
      • compoundValue

        static Map<String,​?> compoundValue​(Object... elements)
        Helper for creating a Map that represents the value of a compound natural-id for use in loading. The passed array is expected to have an even number of elements representing key, value pairs. E.g. `using( "system", "matrix", "username", "neo" )`