org.seasar.doma
注釈型 BatchUpdate


@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface BatchUpdate

バッチ更新処理を示します。

このアノテーションが注釈されるメソッドは、Daoインタフェースのメンバでなければいけません。

注釈されるメソッドは次の制約を満たす必要があります。

例:
 @Entity
 public class Employee {
     ...
 }
 
 @Dao(config = AppConfig.class)
 public interface EmployeeDao {
 
     @BatchUpdate
     int[] update(List<Employee> employee);
 }
 
注釈されるメソッドは、次の例外をスローすることがあります。

作成者:
taedium

任意要素の概要
 int batchSize
          バッチサイズです。
 String[] exclude
          UPDATE文のSET句から除外するプロパティ名の配列です。
 boolean ignoreVersion
          楽観的排他制御用のバージョン番号を無視するかどうかを示します。
 String[] include
          UPDATE文のSET句に含めるプロパティ名の配列です。
 boolean includeVersion
          推奨されていません。 代わりに includeVersion() を使用してください。
 int queryTimeout
          クエリタイムアウト(秒)です。
 boolean sqlFile
          SQLファイルにマッピングするかどうかを示します。
 boolean suppressOptimisticLockException
          更新結果が1件でない場合にスローされる OptimisticLockExceptionを抑制するかどうかを示します。
 

sqlFile

public abstract boolean sqlFile
SQLファイルにマッピングするかどうかを示します。

デフォルト:
false

queryTimeout

public abstract int queryTimeout
クエリタイムアウト(秒)です。

指定しない場合、Config.getQueryTimeout()が使用されます。

関連項目:
Statement.setQueryTimeout(int)
デフォルト:
-1

batchSize

public abstract int batchSize
バッチサイズです。

指定しない場合、Config.getBatchSize()が使用されます。

Statement.executeBatch() を実行する際のバッチサイズです。 バッチ対象の数がバッチサイズを上回る場合、バッチサイズの数だけ PreparedStatement.addBatch() を呼び出し、 Statement.executeBatch() を実行するということを繰り返します。

導入されたバージョン:
1.21.0
関連項目:
PreparedStatement.addBatch()
デフォルト:
-1

includeVersion

@Deprecated
public abstract boolean includeVersion
推奨されていません。 代わりに includeVersion() を使用してください。

UPDATE文のSET句にバージョンプロパティに対応するカラムを含めるかどうかを示します。

デフォルト:
false

ignoreVersion

public abstract boolean ignoreVersion
楽観的排他制御用のバージョン番号を無視するかどうかを示します。

true の場合、更新条件にバージョン番号を含めません。

導入されたバージョン:
1.7.0
デフォルト:
false

include

public abstract String[] include
UPDATE文のSET句に含めるプロパティ名の配列です。

ここに指定できるのは、カラム名ではなく更新対象エンティティクラスのプロパティ名です。

この要素に対する指定は、sqlFile()false の場合にのみ有効です。

デフォルト:
{}

exclude

public abstract String[] exclude
UPDATE文のSET句から除外するプロパティ名の配列です。

ここに指定できるのは、カラム名ではなく更新対象エンティティクラスのプロパティ名です。

この要素に対する指定は、sqlFile()false の場合にのみ有効です。

デフォルト:
{}

suppressOptimisticLockException

public abstract boolean suppressOptimisticLockException
更新結果が1件でない場合にスローされる OptimisticLockExceptionを抑制するかどうかを示します。

この要素に対する指定は、sqlFile()false の場合にのみ有効です。

デフォルト:
false


Copyright © 2009-2014 The Seasar Foundation. All Rights Reserved.