Jooqで複数の行を挿入すると、コンパイルエラーがスローされます

ps0604:

私はと呼ばれるテーブル持っているVARS2つの列がありVAR_NAMEVAR_TYPE私はまた、このテーブルに挿入するのPOJOのリストを持っています。POJOクラスが呼び出されるVarと呼ばれる2つのフィールドがありvarNamevarType

フィールドがとても一致していることを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();

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=215365&siteId=1