クラス AbstractIdentityColumnMaxValueIncrementer

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

public abstract class AbstractIdentityColumnMaxValueIncrementer extends AbstractColumnMaxValueIncrementer
シーケンスのようなテーブルの ID 列に基づく DataFieldMaxValueIncrementer 実装の抽象基本クラス。
導入:
4.1.2
作成者:
Juergen Hoeller, Thomas Risberg
  • コンストラクターの詳細

  • メソッドの詳細

    • setDeleteSpecificValues

      public void setDeleteSpecificValues(boolean deleteSpecificValues)
      現在の最大キー値(false - デフォルト)を下回る範囲全体を削除するか、特別に生成された値(true)を削除するかを指定します。前者のモードでは where range 句を使用しますが、後者では、最小値から 1 を引いた値から始まる in 句を使用しますが、最大値を保持します。
    • isDeleteSpecificValues

      public boolean isDeleteSpecificValues()
      現在の最大キー値(false - デフォルト)を下回る範囲全体を削除するか、特別に生成された値(true)を削除するかを返します。
    • getNextKey

      protected long getNextKey() throws DataAccessException
      クラスからコピーされた説明: AbstractDataFieldMaxValueIncrementer
      long として、次に使用するキーを決定します。
      次で指定:
      クラス AbstractDataFieldMaxValueIncrementergetNextKey 
      戻り値:
      long として使用するキー。最終的には、このクラスのパブリックコンクリートメソッドによって後で別の形式に変換されます。
      例外:
      DataAccessException
    • getIncrementStatement

      protected abstract StringSE getIncrementStatement()
      「シーケンス」値をインクリメントするために使用するステートメント。
      戻り値:
      使用する SQL ステートメント
    • getIdentityStatement

      protected abstract StringSE getIdentityStatement()
      現在の ID 値を取得するために使用するステートメント。
      戻り値:
      使用する SQL ステートメント
    • getDeleteStatement

      protected StringSE getDeleteStatement(long[] values)
      「シーケンス」値のクリーンアップに使用するステートメント。

      デフォルトの実装では、isDeleteSpecificValues() 設定に従って、現在の最大値より下の範囲全体、または具体的に生成された値(最小のマイナス 1 から開始して最大値を保持する)を削除します。

      パラメーター:
      values - 現在生成されているキー値 (値の数は AbstractColumnMaxValueIncrementer.getCacheSize() に対応します)
      戻り値:
      使用する SQL ステートメント