当前,我正在从pojos列表映射到Record,我希望能够一次插入多行。我如何通过一次交易在JOOQ中做到这一点?
List<Record> recordList = receiverList.stream().map(r -> {
return dslContext.newRecord(Table, r);
}).collect(Collectors.toList());
我尝试将列表放入“值”中,但出现异常“值的数量必须与字段的数量匹配”
dslContext.insertInto(Table).values(recordList);
您的错误是因为.values(...)正在等待未记录的字段值。
也许您可以执行a batch execution:
dslContext.batchInsert(recordList);
它不能保证您进行独特的交易。
有关交易的问题,您可以参考此链接:
jOOQ and Spring transaction management
如果您使用的是Spring,则只需依靠Spring事务管理。