title: Save in ReactiveCrudRepository not inserting or updating records
body: <p>As stated in the title I'm not been able to insert or update records in my Postgres database.
  I just started working with spring and kotlin so there might be some pretty basic configuration that it's missing. Thanks in advance</p>
  
  <p>Here is my code base</p>
  
  <p><strong>UserRepository</strong></p>
  
  <pre><code>@Repository
  interface UserRepository : ReactiveCrudRepository&lt;User, Int&gt; {}
  </code></pre>
  
  <p><strong>User model</strong>
  @Table("user_app")</p>
  
  <pre><code>data class User (
      @Id
      @Column("id")
      @GeneratedValue(strategy=GenerationType.IDENTITY)
      val id : Int? =  null,
  
      @Column("username")
      val username : String?,
  
      @Column("email")
      val email : String?,
  
      @Column("name")
      val name : String?,
  
      @Column("password")
      val password : String?
  )
  </code></pre>
  
  <p><strong>UserController</strong>
  @Component</p>
  
  <pre><code>class UserController{
  
      @Autowired
      private lateinit var userRepository : UserRepository
  
      fun getAllUsers() : Flux&lt;User&gt; = userRepository.findAll()
  
      fun getUserById( userId: Int) : Mono&lt;User&gt; = userRepository.findById(userId)
  
      fun createUser(user: User): Mono&lt;User&gt; = userRepository.save(user)
  
      fun updateUser(user: User) : Mono&lt;User&gt; = userRepository.save(user)
  
  }
  </code></pre>
  
  <p><strong>UserConfiguration</strong></p>
  
  <pre><code>@Configuration
  class UserConfiguration {
  
      @FlowPreview
      @Bean
      fun userRouter(controller: UserController): RouterFunction&lt;ServerResponse&gt; = router{
          ("/users").nest{
              GET("") { _ -&gt;
                  ServerResponse.ok().body(controller.getAllUsers())
              }
  
              GET("/{id}") { req -&gt;
                  ServerResponse.ok().body(controller.getUserById(req.pathVariable("id").toInt()))
              }
  
              accept(MediaType.APPLICATION_JSON)
              POST("") {req -&gt;
                  ServerResponse.ok().body(req.bodyToMono(User::class.java).doOnNext { user -&gt;
                          controller.createUser(user)                })
              }
  
              accept(MediaType.APPLICATION_JSON)
              PUT("") {req -&gt;
                  ServerResponse.ok().body(req.bodyToMono(User::class.java).doOnNext { user -&gt;
                      run {
                          controller.updateUser(user)
                      }
                  })
              }
          }
      }
  }
  </code></pre>
  
  <p><strong>R2dbcConfiguration</strong></p>
  
  <pre><code>@Configuration
  @EnableR2dbcRepositories
  class R2dbcConfiguration  : AbstractR2dbcConfiguration() {
      @Bean
      override fun connectionFactory(): PostgresqlConnectionFactory  {
          val config = PostgresqlConnectionConfiguration.builder()
                  .host("localhost")
                  .port(5432)
                  .database("postgres")
                  .username("postgres")
                  .password("pass123")
                  .build()
  
          return PostgresqlConnectionFactory(config)
  
      }
  
  }
  </code></pre>