public class SybaseAnywhereMaxValueIncrementer extends SybaseMaxValueIncrementer
DataFieldMaxValueIncrementer
。注: このクラスを使用する場合、シーケンステーブルが機能するため、テーブルキー列を IDENTITY 列として定義しないでください。このクラスは、Sybase Anywhere で使用するためのものです。
シーケンスはテーブルに保持されます。自動生成キーを必要とするテーブルごとに 1 つのシーケンステーブルが必要です。
例:
create table tab (id int not null primary key, text varchar(100)) create table tab_sequence (id bigint identity) insert into tab_sequence values(DEFAULT)"cacheSize" が設定されている場合、データベースを照会せずに中間値が提供されます。サーバーまたはアプリケーションが停止またはクラッシュしたり、トランザクションがロールバックされたりすると、未使用の値は提供されません。番号付けの最大ホールサイズは cacheSize の値になります。 ヒント : Sybase Anywhere は JDBC 3.0
getGeneratedKeys
メソッドをサポートしているため、テーブルで直接 IDENTITY 列を使用し、次に JdbcTemplate
の update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)
メソッドで呼び出すときに SimpleJdbcInsert
を使用するか、KeyHolder
を利用することをお勧めします。提案してくれた Tarald Saxi Stormark に感謝します!
paddingLength
コンストラクターと説明 |
---|
SybaseAnywhereMaxValueIncrementer() Bean プロパティスタイルの使用のデフォルトコンストラクター。 |
SybaseAnywhereMaxValueIncrementer(DataSourceSE dataSource, StringSE incrementerName, StringSE columnName) 便利なコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected StringSE | getIncrementStatement() 「シーケンス」値をインクリメントするために使用するステートメント。 |
getIdentityStatement
getDeleteStatement, getNextKey, isDeleteSpecificValues, setDeleteSpecificValues
afterPropertiesSet, getCacheSize, getColumnName, setCacheSize, setColumnName
getDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLength
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public SybaseAnywhereMaxValueIncrementer()
public SybaseAnywhereMaxValueIncrementer(DataSourceSE dataSource, StringSE incrementerName, StringSE columnName)
dataSource
- 使用する DataSourceincrementerName
- 使用するシーケンス / テーブルの名前 columnName
- 使用するシーケンステーブルの列の名前 protected StringSE getIncrementStatement()
AbstractIdentityColumnMaxValueIncrementer
SybaseMaxValueIncrementer
の getIncrementStatement