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