ps0604:
私はと呼ばれるテーブル持っているVARS
2つの列がありVAR_NAME
とVAR_TYPE
。私はまた、このテーブルに挿入するのPOJOのリストを持っています。POJOクラスが呼び出されるVar
と呼ばれる2つのフィールドがありvarName
とvarType
。
注フィールドがとても一致していることをJooq
導き出すと、インサートに適用することができます。
私はバールのリストを挿入しようとすると、私はコンパイルエラーが出ます:
InsertSetStep<VarsRecord> insert = create.insertInto(VARS);
for (Var var: vars) {
VarsRecord rec = new VarsRecord();
rec.from(var);
insert.set(rec);
}
insert.execute(); // <-- error here
エラー:
メソッド実行()はタイプに対して定義されていないInsertSetStep
この挿入を実行するには?
何を代わりに使用する必要がありますか
InsertSetStep<VarsRecord>
?私はexcecute必要があり
insertInto
、各行については?
ルーカス・エダー:
DSLのAPIの歴史的な可変性を避けるようにしてください、それは次のメジャーリリースで変更される可能性がありますよう。使用するDSLContext.batchInsert(Collection<? extends TableRecord>)
代わりに:
List<VarsRecord> list = new ArrayList<>(vars.size());
for (Var var : vars) {
VarsRecord rec = new VarsRecord();
rec.from(var);
list.add(rec);
}
create.batchInsert(list).execute();