クラス AutoUpdateImpl<T>

  • 型パラメータ:
    T - 処理対象となるエンティティの型
    すべての実装されたインタフェース:
    AutoUpdate<T>

    public class AutoUpdateImpl<T>
    extends Object
    implements AutoUpdate<T>
    更新を行うSQLを自動生成するクエリの実装です。
    作成者:
    T.TSUCHIE
    • コンストラクタの詳細

    • メソッドの詳細

      • includesVersion

        public AutoUpdateImpl<T> includesVersion()
        インタフェースからコピーされた説明: AutoUpdate
        バージョンプロパティを通常の更新対象に含め、バージョンチェックの対象外とします。

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

        定義:
        includesVersion インタフェース内 AutoUpdate<T>
        戻り値:
        このインスタンス自身
      • excludesNull

        public AutoUpdateImpl<T> excludesNull()
        インタフェースからコピーされた説明: AutoUpdate
        null値のプロパティを更新対象から除外します。
        定義:
        excludesNull インタフェース内 AutoUpdate<T>
        戻り値:
        このインスタンス自身
      • suppresOptimisticLockException

        public AutoUpdateImpl<T> suppresOptimisticLockException()
        インタフェースからコピーされた説明: AutoUpdate
        バージョンチェックを行った場合に、更新行数が0行でも OptimisticLockingFailureException をスローしないようにします。
        定義:
        suppresOptimisticLockException インタフェース内 AutoUpdate<T>
        戻り値:
        このインスタンス自身
      • includes

        public AutoUpdateImpl<T> includes​(PropertyPath<?>... properties)
        インタフェースからコピーされた説明: AutoUpdate
        指定のプロパティのみを挿入対象とします。

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

        定義:
        includes インタフェース内 AutoUpdate<T>
        パラメータ:
        properties - 更新対象のプロパティ情報。
        戻り値:
        自身のインスタンス。
      • excludes

        public AutoUpdateImpl<T> excludes​(PropertyPath<?>... properties)
        インタフェースからコピーされた説明: AutoUpdate
        指定のプロパティを更新対象から除外します。
        定義:
        excludes インタフェース内 AutoUpdate<T>
        パラメータ:
        properties - 除外対象のプロパティ名。
        戻り値:
        自身のインスタンス。
      • changedFrom

        public AutoUpdateImpl<T> changedFrom​(@NonNull
                                             T beforeEntity)
        インタフェースからコピーされた説明: AutoUpdate
        beforeから変更のあったプロパティだけを更新対象とします
        定義:
        changedFrom インタフェース内 AutoUpdate<T>
        パラメータ:
        beforeEntity - 変更前の状態を持つエンティティ
        戻り値:
        このインスタンス自身
      • changedFrom

        public AutoUpdateImpl<T> changedFrom​(Map<String,​Object> beforeStates)
        インタフェースからコピーされた説明: AutoUpdate
        beforeから変更のあったプロパティだけを更新対象とします。

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

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

        public int execute()
        インタフェースからコピーされた説明: AutoUpdate
        更新クエリを実行します。
        定義:
        execute インタフェース内 AutoUpdate<T>
        戻り値:
        更新したレコード件数です。更新対象のプロパティ(カラム)がない場合は 0 を返します。
      • getEntity

        public T getEntity()
        削除対象のエンティティ
      • getEntityMeta

        public EntityMeta getEntityMeta()
        エンティティ情報
      • isIncludeVersion

        public boolean isIncludeVersion()
        バージョンプロパティを更新対象に含めるかどうか。
      • isExcludesNull

        public boolean isExcludesNull()
        null値のプロパティを更新から除外する
      • isSuppresOptimisticLockException

        public boolean isSuppresOptimisticLockException()
        バージョンチェックを行った場合に、更新行数が0行でもOptimisticLockingFailureExceptionスローしないならtrue
      • getIncludesProperties

        public Set<String> getIncludesProperties()
        更新対象とするプロパティ
      • getExcludesProperties

        public Set<String> getExcludesProperties()
        更新対象から除外するプロパティ
      • getBeforeStates

        public Map<String,​Object> getBeforeStates()
        更新前のプロパティの状態を保持するマップ。

        key=プロパティ名、value=プロパティの値。