I using R2bc in Spring Webflux project with Kotlin. It is working nicely. But I have this method
@Component
class UserRepository(private val client: DatabaseClient, private val operator: TransactionalOperator) {
suspend fun updateUser(user: User, value: String): Int {
client.execute("INSERT INTO log(user_id, activity) VALUES (:user_id, :activity)")
.bind("activity", user.activity)
.bind("user_id", user.id)
.fetch()
.awaitRowsUpdated()
return client.execute("UPDATE users SET value = :value WHERE id = :id")
.bind("value", value)
.bind("id", user.id)
.fetch()
.awaitRowsUpdated()
}
This method is working but I would like to use DB transaction. Is it supported in Kotlin.