JOOQ插入记录列表

问题描述 投票:0回答:1

当前,我正在从pojos列表映射到Record,我希望能够一次插入多行。我如何通过一次交易在JOOQ中做到这一点?

 List<Record> recordList = receiverList.stream().map(r -> {
        return dslContext.newRecord(Table, r);
    }).collect(Collectors.toList());

我尝试将列表放入“值”中,但出现异常“值的数量必须与字段的数量匹配”

dslContext.insertInto(Table).values(recordList);
java jooq
1个回答
0
投票

您的错误是因为.values(...)正在等待未记录的字段值。

也许您可以执行a batch execution

dslContext.batchInsert(recordList);

它不能保证您进行独特的交易。

有关交易的问题,您可以参考此链接:

jOOQ and Spring transaction management

如果您使用的是Spring,则只需依靠Spring事务管理。

© www.soinside.com 2019 - 2024. All rights reserved.