org.springframework.jdbc.support.incrementer

## Class PostgreSQLSequenceMaxValueIncrementer

- java.lang.Object
- - org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
  - - org.springframework.jdbc.support.incrementer.AbstractSequenceMaxValueIncrementer
    - - org.springframework.jdbc.support.incrementer.PostgreSQLSequenceMaxValueIncrementer

- All Implemented Interfaces:
    InitializingBean, DataFieldMaxValueIncrementer

      public class PostgreSQLSequenceMaxValueIncrementer
      extends AbstractSequenceMaxValueIncrementer

  `DataFieldMaxValueIncrementer` that retrieves the next value of a given PostgreSQL sequence. Thanks to Tomislav Urban for the suggestion!
  Author:
    Juergen Hoeller

- - ### Field Summary

    - ### Fields inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer

      `paddingLength`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PostgreSQLSequenceMaxValueIncrementer()` Default constructor for bean property style usage.
    `PostgreSQLSequenceMaxValueIncrementer(DataSource dataSource, String incrementerName)` Convenience constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected String` | `getSequenceQuery()` Return the database-specific query to use for retrieving a sequence value.

    - ### Methods inherited from class org.springframework.jdbc.support.incrementer.AbstractSequenceMaxValueIncrementer

      `getNextKey`

    - ### Methods inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer

      `afterPropertiesSet, getDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLength`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PostgreSQLSequenceMaxValueIncrementer

          public PostgreSQLSequenceMaxValueIncrementer()

      Default constructor for bean property style usage.
      See Also:
        `AbstractDataFieldMaxValueIncrementer.setDataSource(javax.sql.DataSource)`, `AbstractDataFieldMaxValueIncrementer.setIncrementerName(java.lang.String)`

    - #### PostgreSQLSequenceMaxValueIncrementer

          public PostgreSQLSequenceMaxValueIncrementer(DataSource dataSource,
                                               String incrementerName)

      Convenience constructor.
      Parameters:
        `dataSource` - the DataSource to use
        `incrementerName` - the name of the sequence/table to use

  - ### Method Detail

    - #### getSequenceQuery

          protected String getSequenceQuery()

      Description copied from class: `AbstractSequenceMaxValueIncrementer`
      Return the database-specific query to use for retrieving a sequence value.

      The provided SQL is supposed to result in a single row with a single column that allows for extracting a `long` value.

      Specified by:
        `getSequenceQuery` in class `AbstractSequenceMaxValueIncrementer`