JPA(Java Persistence API) é a especificação para gerenciamento de persistência e mapeamento objeto relacional. Criada com o objetivo de substituir os Beans de Entidade(Entity Beans), que foram descontinuados e simplificar o desenvolvimentos de aplicações JEE e Java SE que utilizam persistência de dados, possui uma completa especificação para realizar o mapeamento objeto relacional, utilizando anotações da linguagem Java (Java SE 5.0 ou superior). Suporta, também a uma rica linguagem de consulta, semelhante a SQL, permitindo consultas estáticas ou dinâmicas.
O conceito principal relacionado a API JPA é o de entidade. Uma entidade corresponde a um objeto que pode ser gravado na base de dados através de um mecanismo de persistência. A classe que implementa a entidade persistente é um POJO.
Para utilizar JPA, deve-se escolher um provedor JPA, ou seja, uma implementação da API. A JPA é uma API para frameworks, tendo-se como implementação de referência o Oracle TopLink Essentials. Existem outros provedores JPA no mercado, como o Hibernate Entity Manager, Bea Kodo eo Apache JPA.








