インタフェース AutoUpdate<T>

  • 型パラメータ:
    T - 処理対象となるエンティティの型
    既知の実装クラスのリスト:
    AutoUpdateImpl

    public interface AutoUpdate<T>
    更新を行うSQLを自動生成するクエリです。
    バージョン:
    0.3
    作成者:
    T.TSUCHIE
    • メソッドの詳細

      • queryTimeout

        AutoUpdate<T> queryTimeout​(int seconds)
        クエリタイムアウトの秒数を設定します。

        -1 を指定するとJDBC ドライバーのデフォルト値を使用します。

        パラメータ:
        seconds - クエリタイムアウトの秒数
        戻り値:
        自身のインスタンス。
        導入されたバージョン:
        0.3
      • includesVersion

        AutoUpdate<T> includesVersion()
        バージョンプロパティを通常の更新対象に含め、バージョンチェックの対象外とします。

        このメソッドが呼び出されると、update文のwhere句にはバージョンのチェックが含まれなくなり、 バージョンプロパティは通常のプロパティと同じように更新対象に含められます (excludesNull()changedFrom(Object)等も同じように適用されます)。

        戻り値:
        このインスタンス自身
      • excludesNull

        AutoUpdate<T> excludesNull()
        null値のプロパティを更新対象から除外します。
        戻り値:
        このインスタンス自身
      • suppresOptimisticLockException

        AutoUpdate<T> suppresOptimisticLockException()
        バージョンチェックを行った場合に、更新行数が0行でも OptimisticLockingFailureException をスローしないようにします。
        戻り値:
        このインスタンス自身
      • includes

        AutoUpdate<T> includes​(PropertyPath<?>... properties)
        指定のプロパティのみを更新対象とします。

        ID(主キー)は自動的に更新対象外となります。

        アノテーション @Column(updatable = false) が設定されているプロパティは自動的に対象外となります。

        パラメータ:
        properties - 更新対象のプロパティ情報。
        戻り値:
        自身のインスタンス。
        例外:
        IllegalOperateException - エンティティに存在しないプロパティ名を指定した場合にスローされます。
      • excludes

        AutoUpdate<T> excludes​(PropertyPath<?>... properties)
        指定のプロパティを更新対象から除外します。

        ID(主キー)は自動的に更新対象外となります。

        アノテーション @Column(updatable = false) が設定されているプロパティは自動的に対象外となります。

        パラメータ:
        properties - 除外対象のプロパティ名。
        戻り値:
        自身のインスタンス。
        例外:
        IllegalOperateException - エンティティに存在しないプロパティ名を指定した場合にスローされます。
      • changedFrom

        AutoUpdate<T> changedFrom​(T beforeEntity)
        beforeEntityから変更のあったプロパティだけを更新対象とします
        パラメータ:
        beforeEntity - 変更前の状態を持つエンティティ
        戻り値:
        このインスタンス自身
      • changedFrom

        AutoUpdate<T> changedFrom​(Map<String,​Object> beforeStates)
        beforeStatesから変更のあったプロパティだけを更新対象とします。

        引数 beforeStates のサイズが 0 のときは何もしません。

        パラメータ:
        beforeStates - 変更前の状態を持つマップ。(key=プロパティ名、value=プロパティ値)
        戻り値:
        このインスタンス自身。
      • execute

        int execute()
        更新クエリを実行します。
        戻り値:
        更新したレコード件数です。更新対象のプロパティ(カラム)がない場合は 0 を返します。
        例外:
        org.springframework.dao.OptimisticLockingFailureException - 楽観的排他制御を行う場合に該当するレコードが存在しないときにスローされます。