クラス SybaseMaxValueIncrementer

実装されたすべてのインターフェース:
InitializingBeanDataFieldMaxValueIncrementer
既知の直属サブクラス
SybaseAnywhereMaxValueIncrementer

public class SybaseMaxValueIncrementer extends AbstractIdentityColumnMaxValueIncrementer
特定の Sybase テーブルの最大値を、自動インクリメント列と同等の値でインクリメントする DataFieldMaxValueIncrementer。注: このクラスを使用する場合、シーケンステーブルが機能するため、テーブルキー列を IDENTITY 列として定義しないでください。

このクラスは、Sybase Adaptive 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 values()
"cacheSize" が設定されている場合、データベースにクエリを実行せずに中間値が提供されます。サーバーまたはアプリケーションが停止またはクラッシュした場合、またはトランザクションがロールバックされた場合、未使用の値は提供されません。番号付けの最大ホールサイズは、cacheSize の値になります。 ヒント : Sybase Adaptive Server は JDBC getGeneratedKeys メソッドをサポートしているため、テーブル内で IDENTITY カラムを直接使用し、JdbcTemplate の update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder) メソッドを呼び出すときに SimpleJdbcInsert を使用するか、KeyHolder を使用することをお勧めします。

提案をしてくれた Yinwei Liu に感謝します!

導入:
2.5.5
作成者:
Thomas Risberg, Juergen Hoeller