|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
@Target(value=METHOD) @Retention(value=RUNTIME) public @interface BatchDelete
バッチ削除処理を示します。
このアノテーションが注釈されるメソッドは、 Daoインタフェースのメンバでなければいけません。
注釈されるメソッドは次の制約を満たす必要があります。
Iterable のサブタイプである。
int[] である。
@Entity
public class Employee {
...
}
@Dao(config = AppConfig.class)
public interface EmployeeDao {
@BatchDelete
int[] delete(List<Employee> employee);
}
注釈されるメソッドは、次の例外をスローすることがあります。
DomaNullPointerException パラメータに null を渡した場合
OptimisticLockException 楽観的排他制御が有効なで更新件数が0件の場合
SqlFileNotFoundException sqlFile 要素の値が true
で、SQLファイルが見つからなかった場合
JdbcException 上記以外でJDBCに関する例外が発生した場合
| 任意要素の概要 | |
|---|---|
int |
batchSize
バッチサイズです。 |
boolean |
ignoreVersion
楽観的排他制御用のバージョン番号を無視するかどうかを示します。 |
int |
queryTimeout
クエリタイムアウト(秒)です。 |
boolean |
sqlFile
SQLファイルにマッピングするかどうかを示します。 |
boolean |
suppressOptimisticLockException
削除結果が1件でない場合にスローされる OptimisticLockExceptionを抑制するかどうかを示します。 |
public abstract boolean sqlFile
public abstract int queryTimeout
指定しない場合、Config.getQueryTimeout()が使用されます。
Statement.setQueryTimeout(int)public abstract int batchSize
指定しない場合、Config.getBatchSize()が使用されます。
Statement.executeBatch() を実行する際のバッチサイズです。
バッチ対象の数がバッチサイズを上回る場合、バッチサイズの数だけ PreparedStatement.addBatch()
を呼び出し、 Statement.executeBatch() を実行するということを繰り返します。
PreparedStatement.addBatch()public abstract boolean ignoreVersion
true の場合、削除条件にバージョン番号を含めません。
public abstract boolean suppressOptimisticLockException
OptimisticLockExceptionを抑制するかどうかを示します。
この要素に対する指定は、sqlFile() が false の場合にのみ有効です。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||