Module litebridge.db.postgres
Package org.litebridge.db.postgres
Class PostgresSequenceColumnValueGenerator
java.lang.Object
org.litebridge.db.spi.generator.SequenceColumnValueGenerator
org.litebridge.db.postgres.PostgresSequenceColumnValueGenerator
- All Implemented Interfaces:
ColumnValueGenerator
Implementation of
SequenceColumnValueGenerator for PostgreSQL databases.
This class generates SQL fragments to retrieve the next value from a Postgres sequence when used in SQL statements like INSERT or UPDATE.
-
Field Summary
Fields inherited from class org.litebridge.db.spi.generator.SequenceColumnValueGenerator
sequence -
Constructor Summary
ConstructorsConstructorDescriptionPostgresSequenceColumnValueGenerator(String sequence) Constructs a newPostgresSequenceColumnValueGeneratorwith the specified sequence name. -
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 (nextval('sequence_name'), ?)"
-
Constructor Details
-
PostgresSequenceColumnValueGenerator
Constructs a newPostgresSequenceColumnValueGeneratorwith the specified sequence name.- Parameters:
sequence- the name of the sequence to use
-
-
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 (nextval('sequence_name'), ?)", this method returns "nextval('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
-