org.seasar.doma
注釈型 BatchInsert


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

バッチ挿入処理を示します。

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

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

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

作成者:
taedium

任意要素の概要
 int batchSize
          バッチサイズです。
 String[] exclude
          INSERT文から除去するプロパティ名の配列です。
 String[] include
          INSERT文に含めるプロパティ名の配列です。
 int queryTimeout
          クエリタイムアウト(秒)です。
 boolean sqlFile
          SQLファイルにマッピングするかどうかを示します。
 

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

include

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

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

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

デフォルト:
{}

exclude

public abstract String[] exclude
INSERT文から除去するプロパティ名の配列です。

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

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

デフォルト:
{}


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