クラス DerbyMaxValueIncrementer
java.lang.ObjectSE
org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer
org.springframework.jdbc.support.incrementer.AbstractIdentityColumnMaxValueIncrementer
org.springframework.jdbc.support.incrementer.DerbyMaxValueIncrementer
- 実装されたすべてのインターフェース:
InitializingBean
,DataFieldMaxValueIncrementer
指定された Derby テーブルの最大値を、自動インクリメント列と同等の値でインクリメントする
DataFieldMaxValueIncrementer
。注: このクラスを使用する場合、シーケンステーブルが機能するため、Derby キー列を IDENTITY 列として定義しないでください。シーケンスはテーブルに保持されます。自動生成キーを必要とするテーブルごとに 1 つのシーケンステーブルが必要です。
ID 列に null を挿入して値を生成することは不可能であるため、Derby では挿入に追加の列を使用する必要があります。これは、シーケンステーブルにも作成する必要があるダミー列の名前を指定することで解決します。
例:
create table tab (id int not null primary key, text varchar(100)); create table tab_sequence (value int generated always as identity, dummy char(1)); insert into tab_sequence (dummy) values(null);"cacheSize" が設定されている場合、データベースを照会せずに中間値が提供されます。サーバーまたはアプリケーションが停止またはクラッシュしたり、トランザクションがロールバックされたりすると、未使用の値は提供されません。番号付けの最大ホールサイズは cacheSize の値になります。 ヒント : Derby は JDBC
getGeneratedKeys
メソッドをサポートしているため、テーブルで直接 IDENTITY 列を使用し、JdbcTemplate
の update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)
メソッドを呼び出すときに KeyHolder
を使用することをお勧めします。Endre Stolsvik の提案に感謝します。
- 導入:
- 2.5
- 作成者:
- Thomas Risberg, Juergen Hoeller
フィールドサマリー
クラス org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer から継承されたフィールド
paddingLength
コンストラクターのサマリー
コンストラクター説明Bean プロパティスタイルの使用のデフォルトコンストラクター。DerbyMaxValueIncrementer
(DataSourceSE dataSource, StringSE incrementerName, StringSE columnName) 便利なコンストラクター。DerbyMaxValueIncrementer
(DataSourceSE dataSource, StringSE incrementerName, StringSE columnName, StringSE dummyName) 便利なコンストラクター。方法の概要
修飾子と型メソッド説明ダミー列の名前を返します。protected StringSE
現在の ID 値を取得するために使用するステートメント。protected StringSE
「シーケンス」値をインクリメントするために使用するステートメント。void
setDummyName
(StringSE dummyName) ダミー列の名前を設定します。クラス org.springframework.jdbc.support.incrementer.AbstractIdentityColumnMaxValueIncrementer から継承されたメソッド
getDeleteStatement, getNextKey, isDeleteSpecificValues, setDeleteSpecificValues
クラス org.springframework.jdbc.support.incrementer.AbstractColumnMaxValueIncrementer から継承されたメソッド
afterPropertiesSet, getCacheSize, getColumnName, setCacheSize, setColumnName
クラス org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer から継承されたメソッド
getDataSource, getIncrementerName, getPaddingLength, nextIntValue, nextLongValue, nextStringValue, setDataSource, setIncrementerName, setPaddingLength
コンストラクターの詳細
DerbyMaxValueIncrementer
public DerbyMaxValueIncrementer()Bean プロパティスタイルの使用のデフォルトコンストラクター。DerbyMaxValueIncrementer
public DerbyMaxValueIncrementer(DataSourceSE dataSource, StringSE incrementerName, StringSE columnName) 便利なコンストラクター。- パラメーター:
dataSource
- 使用する DataSourceincrementerName
- 使用するシーケンス / テーブルの名前columnName
- 使用するシーケンステーブルの列の名前
DerbyMaxValueIncrementer
public DerbyMaxValueIncrementer(DataSourceSE dataSource, StringSE incrementerName, StringSE columnName, StringSE dummyName) 便利なコンストラクター。- パラメーター:
dataSource
- 使用する DataSourceincrementerName
- 使用するシーケンス / テーブルの名前columnName
- 使用するシーケンステーブルの列の名前dummyName
- 挿入に使用されるダミー列の名前
メソッドの詳細
setDummyName
ダミー列の名前を設定します。getDummyName
ダミー列の名前を返します。getIncrementStatement
クラスからコピーされた説明:AbstractIdentityColumnMaxValueIncrementer
「シーケンス」値をインクリメントするために使用するステートメント。- 次で指定:
- クラス
AbstractIdentityColumnMaxValueIncrementer
のgetIncrementStatement
- 戻り値:
- 使用する SQL ステートメント
getIdentityStatement
クラスからコピーされた説明:AbstractIdentityColumnMaxValueIncrementer
現在の ID 値を取得するために使用するステートメント。- 次で指定:
- クラス
AbstractIdentityColumnMaxValueIncrementer
のgetIdentityStatement
- 戻り値:
- 使用する SQL ステートメント