Class DefaultSequenceColumnValueGenerator

java.lang.Object
org.litebridgedb.db.spi.generator.SequenceColumnValueGenerator
org.litebridgedb.db.spi.impl.DefaultSequenceColumnValueGenerator
All Implemented Interfaces:
ColumnValueGenerator

public class DefaultSequenceColumnValueGenerator extends SequenceColumnValueGenerator
A concrete implementation of SequenceColumnValueGenerator that provides a standardized SQL fragment for fetching the next value from a database sequence. This generator is intended to work with databases that support the "NEXT VALUE FOR" syntax for sequence values.

This class constructs the sequence-based SQL fragment by using the provided sequence name, which must be supplied during the instantiation of the class. The generated SQL can be directly embedded into INSERT or UPDATE statements.

  • Constructor Details

    • DefaultSequenceColumnValueGenerator

      public DefaultSequenceColumnValueGenerator(String sequence)
      Constructs a new instance of DefaultSequenceColumnValueGenerator.
      Parameters:
      sequence - the name of the database sequence from which values will be generated.
  • Method Details

    • generate

      public String generate(ColumnMetaData columnMetaData)
      Generate a SQL fragment to retrieve the next value from a sequence for direct use in an INSERT or UPDATE statement, e.g. to generate "INSERT INTO LB.ACCOUNT(ACCOUNT_ID, ACCOUNT_NAME) VALUES (NEXT VALUE FOR sequence_name, ?)", this method returns "NEXT VALUE FOR sequence_name".
      Specified by:
      generate in interface ColumnValueGenerator
      Specified by:
      generate in class SequenceColumnValueGenerator
      Parameters:
      columnMetaData - Column to generate a value for
      Returns:
      a formatted SQL string representing the next sequence value for direct insertion