JPA
O que é?
Java Persistense API, é um projeto que faz parte do ecossistema spring para trabalharmos com base de dados nas nossas aplicações Spring de uma forma muito mais fácil.
É também considerado uma especificação para mepeamento objeto relacional em Java. Mapeamento seja de entidades, transformando tudo isso em tabelas e colunas na base de dados.
Faremos isso usando anotações, consultas JPQL e Apis para realizar a interação com a base de dados.
O JPA, portanto, é uma abstração.
Bom, se o JPA é uma abstração, quem irá implementá-lo?
Entramos na camada de Hibernate!
Atualizado