|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |
@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
の場合にのみ有効です。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 必須 | オプション | 詳細: 要素 |