Module litebridge.db.spi.impl
Package org.litebridgedb.db.spi.impl
Class DefaultSequenceColumnValueGenerator
java.lang.Object
org.litebridgedb.db.spi.generator.SequenceColumnValueGenerator
org.litebridgedb.db.spi.impl.DefaultSequenceColumnValueGenerator
- All Implemented Interfaces:
ColumnValueGenerator
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.
-
Field Summary
Fields inherited from class org.litebridgedb.db.spi.generator.SequenceColumnValueGenerator
sequence -
Constructor Summary
ConstructorsConstructorDescriptionDefaultSequenceColumnValueGenerator(String sequence) Constructs a new instance ofDefaultSequenceColumnValueGenerator. -
Method Summary
Modifier and TypeMethodDescriptiongenerate(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, ?)"
-
Constructor Details
-
DefaultSequenceColumnValueGenerator
Constructs a new instance ofDefaultSequenceColumnValueGenerator.- Parameters:
sequence- the name of the database sequence from which values will be generated.
-
-
Method Details
-
generate
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:
generatein interfaceColumnValueGenerator- Specified by:
generatein classSequenceColumnValueGenerator- Parameters:
columnMetaData- Column to generate a value for- Returns:
- a formatted SQL string representing the next sequence value for direct insertion
-