| 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
@Target(value=METHOD) @Retention(value=RUNTIME) public @interface BatchInsert
バッチ挿入処理を示します。
このアノテーションが注釈されるメソッドは、Daoインタフェースのメンバでなければいけません。
注釈されるメソッドは次の制約を満たす必要があります。
Iterable のサブタイプである。
 int[] である。
 
 @Entity
 public class Employee {
     ...
 }
 
 @Dao(config = AppConfig.class)
 public interface EmployeeDao {
 
     @BatchInsert
     int[] insert(List<Employee> employee);
 }
 
 
 注釈されるメソッドは、次の例外をスローすることがあります。
 DomaNullPointerException パラメータに null を渡した場合
 UniqueConstraintException 一意制約違反が発生した場合
 SqlFileNotFoundException sqlFile 要素の値が true
 で、SQLファイルが見つからなかった場合
 JdbcException 上記以外でJDBCに関する例外が発生した場合
 
| 任意要素の概要 | |
|---|---|
 int | 
batchSize
バッチサイズです。  | 
 String[] | 
exclude
INSERT文から除去するプロパティ名の配列です。  | 
 String[] | 
include
INSERT文に含めるプロパティ名の配列です。  | 
 int | 
queryTimeout
クエリタイムアウト(秒)です。  | 
 boolean | 
sqlFile
SQLファイルにマッピングするかどうかを示します。  | 
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 String[] include
ここに指定できるのは、カラム名ではなく挿入対象エンティティクラスのプロパティ名です。
 この要素に対する指定は、sqlFile() が false の場合にのみ有効です。
public abstract String[] exclude
ここに指定できるのは、カラム名ではなく挿入対象エンティティクラスのプロパティ名です。
 この要素に対する指定は、sqlFile() が false の場合にのみ有効です。
  | 
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||