javaspringspring-bootproject-reactorspring-data-r2dbc

ReactiveCrudRepository vs. R2dbcRepository


I am learning the reactive stack starting with R2DBC and this is what I don't understand:

What are the differences between these, when to use them, and how relevant the @Repository stereotype annotation is to them?

As far as I understand, both of them are @NoRepositoryBean and both are shipped together through the org.springframework.boot:spring-boot-starter-data-r2dbc dependency.


Solution

  • There is no difference between both, R2dbcRepository extends ReactiveCrudRepository and not add any functionality (R2dbcRepository java doc), probably it's just a name convention, just like @Service has the same comportament as @Component. About the @Repository annotation, you haven't to annotate any class that extends from repository interfaces to them work.