Class AbstractSequenceMaxValueIncrementer
- java.lang.Object
- org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
- org.springframework.jdbc.support.incrementer.AbstractSequenceMaxValueIncrementer
- All Implemented Interfaces:
InitializingBean
,DataFieldMaxValueIncrementer
- Direct Known Subclasses:
Db2LuwMaxValueIncrementer
,Db2MainframeMaxValueIncrementer
,DB2MainframeSequenceMaxValueIncrementer
,H2SequenceMaxValueIncrementer
,HanaSequenceMaxValueIncrementer
,HsqlSequenceMaxValueIncrementer
,OracleSequenceMaxValueIncrementer
,PostgresSequenceMaxValueIncrementer
public abstract class AbstractSequenceMaxValueIncrementer extends AbstractDataFieldMaxValueIncrementer
Abstract base class forDataFieldMaxValueIncrementer
implementations that use a database sequence. Subclasses need to provide the database-specific SQL to use.- Since:
- 26.02.2004
- Author:
- Juergen Hoeller
- See Also:
getSequenceQuery()
Field Summary
Fields inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
paddingLength
Constructor Summary
Constructors Constructor Description AbstractSequenceMaxValueIncrementer()
Default constructor for bean property style usage.AbstractSequenceMaxValueIncrementer(DataSource dataSource, String incrementerName)
Convenience constructor.
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected long
getNextKey()
Executes the SQL as specified bygetSequenceQuery()
.protected abstract String
getSequenceQuery()
Return the database-specific query to use for retrieving a sequence value.Methods inherited from class org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
afterPropertiesSet, getDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLength
Constructor Detail
AbstractSequenceMaxValueIncrementer
public AbstractSequenceMaxValueIncrementer()
Default constructor for bean property style usage.
AbstractSequenceMaxValueIncrementer
public AbstractSequenceMaxValueIncrementer(DataSource dataSource, String incrementerName)
Convenience constructor.- Parameters:
dataSource
- the DataSource to useincrementerName
- the name of the sequence/table to use
Method Detail
getNextKey
protected long getNextKey() throws DataAccessException
Executes the SQL as specified bygetSequenceQuery()
.- Specified by:
getNextKey
in classAbstractDataFieldMaxValueIncrementer
- Returns:
- the key to use as a long. It will eventually be converted later in another format by the public concrete methods of this class.
- Throws:
DataAccessException
getSequenceQuery
protected abstract String getSequenceQuery()
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.