Paginación y Ordenamiento en Spring Data JPA
En sistemas empresariales con miles o millones de registros, realizar consultas masivas como findAll() saturará el ancho de banda, bloqueará memoria en la máquina virtual (JVM) y degradará la experiencia del usuario. La paginación y el ordenamiento dividen el conjunto de datos en segmentos discretos (páginas) ordenados de forma eficiente directamente en el motor de base de datos SQL.
Gestión de Transacciones con @Transactional y Rollback
En aplicaciones backend que gestionan operaciones críticas (como pagos bancarios, órdenes de compra o inventarios), múltiples sentencias SQL deben tratarse como una única unidad lógica indivisible. Si alguna parte de la operación falla, todas las modificaciones previas deben revertirse (Rollback) para evitar estados inconsistentes en la base de datos. En Spring Framework, esta orquestación se gestiona de manera declarativa con la anotación @Transactional.
Pruebas Unitarias y de Integración con JUnit 5 y Mockito
Garantizar la calidad y robustez de una aplicación backend requiere validar que cada componente individual cumpla su contrato y que la integración entre capas funcione como un engranaje coordinado. En el ecosistema de Spring Boot, el estándar de facto combina JUnit 5 (Jupiter) como motor de pruebas y Mockito como framework para la simulación (mocking) de dependencias.
Slides de la semana
Diapositivas oficiales correspondientes a la Semana 6: Paginación y Ordenamiento en Spring Data JPA (Pageable, Sort, Page, Slice), Gestión de Transacciones con @Transactional y Rollback (Principios ACID, Proxy Spring AOP), y Pruebas Unitarias y de Integración con JUnit 5 y Mockito.