Fórum CrudRepository vs JPARepository #597127
13/09/2018
0
Qual a diferença entre CrudRepository e JpaRepository???

Gabriel Vogado
Curtir tópico
+ 1
Responder
Post mais votado
13/09/2018
Olá Gabriel.
A diferença é a hierarquia das interfaces.
A estrutura do Spring-Data é formada assim: Repository > CrudRepository > PagingAndSorting
Depois nós temos os projetos individuais do Sprind-Data, como o Spring-Data JPA e o Spring-Data MongoDB
Nesse caso, o Spring-Data JPA terá interface JpaRepository e o o Spring-Data MongoDB a interface MongoRepository
Essas duas últimas são consideradas interfaces mais sofisticadas já que os objetos que eles retornam se adequam melhor ao projeto. Por exemplo, o método findAll() em JpaRepository retorna java.util.List:
Já o mesmo método em PagingAndSorting e CrudRepository retornam java.lang.Itarable
Além disso, JpaRepository estende PagingAndSorting, que a interface para paginação. Já CrudRepository não estende PagingAndSorting, assim você não teria acesso aos métodos padrões de paginação.
O ideal é você dar uma olhada no código fonte de cada uma dessas interfaces para ver qual estende qual e quais métodos cada uma oferece.
A diferença é a hierarquia das interfaces.
A estrutura do Spring-Data é formada assim: Repository > CrudRepository > PagingAndSorting
Depois nós temos os projetos individuais do Sprind-Data, como o Spring-Data JPA e o Spring-Data MongoDB
Nesse caso, o Spring-Data JPA terá interface JpaRepository e o o Spring-Data MongoDB a interface MongoRepository
Essas duas últimas são consideradas interfaces mais sofisticadas já que os objetos que eles retornam se adequam melhor ao projeto. Por exemplo, o método findAll() em JpaRepository retorna java.util.List:
1 | List< T > findAll(); |
Já o mesmo método em PagingAndSorting e CrudRepository retornam java.lang.Itarable
1 | Iterable< T > findAll(Sort var1); |
Além disso, JpaRepository estende PagingAndSorting, que a interface para paginação. Já CrudRepository não estende PagingAndSorting, assim você não teria acesso aos métodos padrões de paginação.
O ideal é você dar uma olhada no código fonte de cada uma dessas interfaces para ver qual estende qual e quais métodos cada uma oferece.
Marcio Souza

Responder
Gostei + 7
Mais Posts
23/02/2021
Tiago Gaspar
Qual a diferença entre CrudRepository e JpaRepository???
https://www.tutorialspoint.com/difference-between-crudrepository-and-jparepository-in-java
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)