Introdu O A JPA
Disponível a partir da Java 5.0
Definida na JRS220 – Enterprise JavaBeans 3.0 (EJB)
O JPA é parte do pacote javax.persistence
Tem por objetivo: Padronizar o mapeamento objeto-relacional (ORM).
Não depende de um container para funcionar, como no caso do EJB que utiliza o JBoss, o JSP e Servlets que utilizam o TomCat
Baseia-se no conceito de POJOs (Plain OLd Java Objects).
Utiliza Annotations (Programação declarativa)
Forma sintática para declaração de metadados que podem ser adicionados ao código-fonte. É precedido pelo caracter @.
O uso de anotações por meio do JPA possibilita configurar a maior parte das especificações de uma aplicação que use banco de dados.
Elimina a necessidade de utilização do descritor de implementação J2EE (Deployment Descriptor) por meio do uso de anotações.
Por meio do JPA é possível realizar uma nova forma de comunicação com o banco de dados.
Também é possível realizar toda a interação com um banco de dados sem que seja preciso nenhum conhecimento da linguagem SQL, o acesso a este banco de dados utilizando o driver JDBC ou mesmo outra tecnologia de banco de dados.
O JPA adiciona suporte para herança, polimorfismo, utilização de métodos polimórficos, consultas nomeadas (estáticas) e consultas dinâmicas. Ele oferece uma linguagem de consulta denominada JPA Query Language (JPA QL) que é um aprimoramento do Enterprise JavaBeans QUery Languagem (EJB QL).
Plain Old Java Objects (POJOs)
São objetos java que seguem um desenho simplificado em contraposição aos EJBs.
Definição de um POJO:
Identificador (utilizado pelo banco de dados como chave-primária)
Atributos da classe
Construtor padrão sem argumentos e sem corpo de execução
Métodos getters e settes
Exemplo de um POJO:
public class Cliente { int idCliente;
String nomeCliente; public Cliente() { } public void setIdCliente(int id){ idCliente = id; } public void setNomeCliente(String nome){ nomeCliente = nome; } public int getIdCliente(){