Module io.ebean.api

Interface PlatformIdGenerator

All Known Implementing Classes:
SequenceBatchIdGenerator, SequenceIdGenerator, SequenceStepIdGenerator, SimpleSequenceIdGenerator

public interface PlatformIdGenerator
Generates unique id's for objects. This occurs prior to the actual insert.

Note that many databases have sequences or auto increment features. These can be used rather than an IdGenerator and are different in that they occur during an insert. IdGenerator is used to generate an id BEFORE the actual insert.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The name of the default UUID generator.
  • Method Summary

    Modifier and Type
    Method
    Description
    Return the name of the IdGenerator.
    boolean
    Return true if this is a DB sequence.
    nextId(Transaction transaction)
    return the next unique identity value.
    void
    preAllocateIds(int allocateSize)
    Is called prior to inserting OneToMany's as an indication that a number of beans are likely to need id's shortly.
  • Field Details

  • Method Details

    • getName

      String getName()
      Return the name of the IdGenerator. For sequences this is the sequence name.
    • isDbSequence

      boolean isDbSequence()
      Return true if this is a DB sequence.
    • nextId

      Object nextId(Transaction transaction)
      return the next unique identity value.

      Note the transaction passed in can be null.

    • preAllocateIds

      void preAllocateIds(int allocateSize)
      Is called prior to inserting OneToMany's as an indication that a number of beans are likely to need id's shortly.

      Can be used as a performance optimisation to prefetch a number of Id's. Especially when the allocateSize is very large.