org.springframework.jdbc.support.incrementer
Class HsqlMaxValueIncrementer
java.lang.Object
   org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
       org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer
           org.springframework.jdbc.support.incrementer.HsqlMaxValueIncrementer
org.springframework.jdbc.support.incrementer.HsqlMaxValueIncrementer
- All Implemented Interfaces: 
- InitializingBean, DataFieldMaxValueIncrementer
- public class HsqlMaxValueIncrementer 
- extends AbstractColumnMaxValueIncrementer
DataFieldMaxValueIncrementer that increments the maximum value of a given HSQL table
 with the equivalent of an auto-increment column. Note: If you use this class, your HSQL
 key column should NOT be auto-increment, as the sequence table does the job.
 
The sequence is kept in a table. There should be one sequence table per
 table that needs an auto-generated key.
 
Example:
 
create table tab (id int not null primary key, text varchar(100));
 create table tab_sequence (value identity);
 insert into tab_sequence values(0);
 If "cacheSize" is set, the intermediate values are served without querying the
 database. If the server or your application is stopped or crashes or a transaction
 is rolled back, the unused values will never be served. The maximum hole size in
 numbering is consequently the value of cacheSize.
 NOTE: HSQL now supports sequences and you should consider using them instead:
 HsqlSequenceMaxValueIncrementer
- Author:
- Jean-Pierre Pawlak, Thomas Risberg, Juergen Hoeller
- See Also:
- HsqlSequenceMaxValueIncrementer
 
 
 
| Method Summary | 
| protected  long | getNextKey()Determine the next key to use, as a long.
 | 
 
 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
HsqlMaxValueIncrementer
public HsqlMaxValueIncrementer()
- Default constructor for bean property style usage.
 
- See Also:
- AbstractDataFieldMaxValueIncrementer.setDataSource(javax.sql.DataSource),- AbstractDataFieldMaxValueIncrementer.setIncrementerName(java.lang.String),- AbstractColumnMaxValueIncrementer.setColumnName(java.lang.String)
 
HsqlMaxValueIncrementer
public HsqlMaxValueIncrementer(DataSource dataSource,
                               String incrementerName,
                               String columnName)
- Convenience constructor.
 
- Parameters:
- dataSource- the DataSource to use
- incrementerName- the name of the sequence/table to use
- columnName- the name of the column in the sequence table to use
 
getNextKey
protected long getNextKey()
                   throws DataAccessException
- Description copied from class: AbstractDataFieldMaxValueIncrementer
- Determine the next key to use, as a long.
 
- 
- Specified by:
- getNextKeyin class- AbstractDataFieldMaxValueIncrementer
 
- 
- 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
 
Copyright © 2002-2008 The Spring Framework.