Java Persistence API (JPA) es una especificación de Java EE que permite a los desarrolladores Java hacer un mapeo entre los objetos y las tablas de una base de datos (Object Relational Mapping) para facilitar la administración de los datos relacionales en las aplicaciones.
Spring Data JPA es un módulo que forma parte del proyecto Spring Data y básicamente nos ayuda a simplicar el desarrollo de la persistencia de datos utilizando el concepto de repositorios (algo similar al patrón de diseño DAO). En términos sencillos este módulo de Spring Data agrega una capa de abstracción al API de JPA (una forma más sencilla y mejorada de trabajar con JPA).
Beneficios de Spring Data JPA
- Desarrollo ágil de la capa de persistencia de datos utilizando bases de datos relacionales.
- No es necesario escribir código SQL nativo (aunque también es posible).
- Más fácil que JDBC.
- Permite al desarrollador enfocarse más en la lógica de negocio de la aplicación y olvidarse del manejo de Excepciones (menos excepciones SQLException).
- Código más fácil de entender y mantener.