Хорошо, я нашел решение, которое выкладываю здесь, чтобы другие могли извлечь из этого пользу. Все, что мне нужно было сделать, это.
@Component
class UserRepository(private val client: DatabaseClient, private val operator: TransactionalOperator) {
suspend fun updateUser(user: User, value: String) =
operator.executeAndAwait {
client.execute("INSERT INTO log(user_id, activity) VALUES (:user_id, :activity)")
.bind("activity", user.activity)
.bind("user_id", user.id)
.await()
client.execute("UPDATE users SET value = :value WHERE id = :id")
.bind("value", value)
.bind("id", user.id)
.await()
}
}