インタフェース AutoBatchUpdate<T>

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

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

      • queryTimeout

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        int[] execute()
        更新クエリを実行します。
        戻り値:
        更新したレコード件数を返します。