現在、オブジェクトで無効auto-commit
にできることがわかりました。ただし、Spring Data を使用する場合、オブジェクトConnection
にアクセスできません。Connection
また、Postgres には接続 URL の一部としてこの機能がありません。
永久にオフにする方法を知っている人はいますか?
現在、オブジェクトで無効auto-commit
にできることがわかりました。ただし、Spring Data を使用する場合、オブジェクトConnection
にアクセスできません。Connection
また、Postgres には接続 URL の一部としてこの機能がありません。
永久にオフにする方法を知っている人はいますか?
永久に無効にする方法があるかどうかはわかりませんが、少し低レベルになり、Connection
オブジェクトを使用してauto-commit
機能を設定できます。
@Autowired
private ConnectionFactory connectionFactory;
public Flux<Integer> insertSmth() {
return Mono.from(connectionFactory.create())
.flatMapMany(connection ->
Flux.from(connection.setAutoCommit(false))
.thenMany(connection.beginTransaction())
.thenMany(connection.createStatement("INSERT INTO ...").execute())
...
}
編集: Spring Data R2DBC 1.0.0 RC1 では、 Auto-CommitおよびIsolation Levelコントロールの伝播とリセットが利用できるようです。TransactionDefinition
このスレッドを参照してください: https://github.com/r2dbc/r2dbc-spi/pull/95