Package org.hibernate

Interface NaturalIdMultiLoadAccess<T>


  • 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
      • 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" )`