Package com.proyecto.jpa.repository
package com.proyecto.jpa.repository
Paquete que contiene los repositorios JPA para acceso a datos.
Descripción
Este paquete implementa el patrón Repository para abstraer el acceso a la base de datos. Todos los repositorios extienden deJpaRepository,
proporcionando operaciones CRUD completas sin necesidad de implementación.
Repositorios Disponibles
CategoryRepository- Operaciones sobre categoríasProductRepository- Operaciones sobre productosCustomerRepository- Operaciones sobre clientesOrderRepository- Operaciones sobre pedidosOrderItemRepository- Operaciones sobre items de pedidos
Funcionalidades Implementadas
- Métodos CRUD automáticos: save(), findById(), findAll(), delete(), etc.
- Query Methods: Métodos generados por convención de nombres
- Consultas JPQL: Consultas personalizadas con @Query
- Consultas SQL nativas: Para casos específicos con nativeQuery=true
- Paginación y ordenamiento: Heredado de PagingAndSortingRepository
Ejemplos de Uso
// Inyectar repositorio @Autowired private ProductRepository productRepository; // Usar métodos automáticos Product product = productRepository.findById(1L).orElse(null); List<Product> all = productRepository.findAll(); // Usar query methods List<Product> products = productRepository.findByCategoryId(1L); // Usar consultas personalizadas List<Product> topProducts = productRepository.findTopSellingProducts(5);
Ventajas del Patrón Repository
- Abstrae la lógica de acceso a datos
- Facilita las pruebas unitarias (mockeable)
- Centraliza las consultas a la base de datos
- Reduce el código boilerplate
- Permite cambiar la implementación de persistencia fácilmente
- Version:
- 1.0.0
- Author:
- Proyecto JPA
- See Also:
-
JpaRepositoryQuery
-
InterfacesClassDescriptionRepositorio JPA para la entidad Category.Repositorio JPA para la entidad Customer.Repositorio JPA para la entidad OrderItem.Repositorio JPA para la entidad Order.Repositorio JPA para la entidad Product.