English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

La diferencia entre CrudRepository y JPARepository en Java

Texto

El repositorio CrudRepository y el repositorio JPA son interfaces de la biblioteca de repositorios de Spring Data. Spring Data Repositories proporciona acceso a diferentes capas de datos de capa persistente mediante algunos consultores predefinidos, reduciendo el código de plantilla.

Necesitamos expandir este repositorio en nuestra aplicación para poder acceder a todos los métodos disponibles en estos repositorios. También podemos agregar nuevos métodos utilizando consultas nombradas o consultas nativas según las necesidades de negocio.

Núm. ordenClaveRepositorio JPARepositorio Crud
1jerarquíaJPA extiende el CrudRepository y el repositorio PagingAndSortingEl repositorio original es una interfaz básica que actúa como interfaz de marca.
2Soporte de lotesJPA también proporciona algunos métodos relacionados con JPA, como la eliminación masiva de registros y la actualización directa de datos en la base de datos.Proporciona únicamente funcionalidades CRUD, como findOne, save, etc.
3Soporte de paginaciónEl repositorio JPA también extiende el repositorio PagingAndSorting. Proporciona todos los métodos necesarios para implementar la paginación.El repositorio Crud no proporciona métodos para implementar paginación y ordenación.
4Casos de usoJpaRepository une tu repositorio con la tecnología de persistencia JPA, por lo tanto, debe evitarse su uso.Deberíamos usar CrudRepository o PagingAndSortingRepository dependiendo de si necesitas ordenar y paginar.

Ejemplo de JpaRepository

@Repository
public interface BookDAO extends JpaRepository {
   Book findByAuthor(@Param("id") Integer id);
}

Ejemplo de CrudRepository

@Repository
public interface BookDAO extends CrudRepository {
   Book Event findById(@Param("id") Integer id);
}