【发布时间】:2020-12-26 13:58:12
【问题描述】:
我正在尝试生成在一个事务中同时执行 2 个 postgresql 命令的代码。 我的 DB 2 规则中有不同的规则顺序,我想在它们之间切换规则顺序。 我正在使用 r2dbc-postgresql (v0.8.4) 和 spring-data-r2dbc (v1.1.1)。
我已经定义了 DatabaseClient 和 TransactionalOperator 并尝试使用那段代码:
public Mono<Void> insertRows() {
return databaseClient.execute("update rules set rule_order = 2 where rule_order = 1")
.fetch().rowsUpdated()
.then(databaseClient.execute("update rules set rule_order = 1 where rule_order = 2")
.fetch().rowsUpdated())
.then()
.as(transactionalOperator::transactional);
}
但结果是命令一个接一个地运行,所以我完成了规则顺序 = 1 的两个规则。
我做错了什么,我该如何解决?
【问题讨论】:
标签: postgresql spring-boot spring-transactions spring-data-r2dbc r2dbc