Sie sind auf Seite 1von 15

JPA Java Persistence

API
UNIPAR Universidade Paranaense
Prof. Jemerson Fernando Maia
Toledo - Pr - 05/2014

Definio
Java Persistence API, chamada
apenas de JPA, uma API padro
do Java para persistncia que
deve ser implementada
por frameworks que queiram
seguir o padro.
Frameworks
Originou-se num projeto comum
entre os desenvolvedores para se
criar o padro. Fortemente
baseado nas ideias trazidas pelo
Hibernate, tanto que o lder da
primeira verso dessa
especificao o criador do
framework.
Implementaes JPA
Diversos frameworks de
mapeamento objeto/relacional
como o Hibernate implementam a
JPA. Outros frameworks so:
OpenJPA;
Oracle Toplink;
EclipseLink JPA;
Entre outros.
Unidade de Persistncia
A interface JPA precisa de um
arquivo de configurao
chamado persistence.xml.
Este arquivo define uma ou mais
unidades de persistncia, que
definem os mapeamento de
classes para tabelas.
Unidade de Persistncia (Exemplo)
Unidade de Persistncia
Neste exemplo, definido uma
unidade de persistncia chamada
BibliotecaPU. Ela define que o
provider de persistncia ser o
framework Hibernate.
Alternativamente, poderia ser usado
o OpenJPA ou qualquer outro
framework que implemente a
especificao JPA.
EntityManager
Um aplicativo interage com a JPA
usando uma instncia da interface
EntityManager.
As 4 formas bsicas de interao so:
insero,
alterao,
excluso e
busca.
EntityManager
Podemos obter essa instncia chamando um
mtodo em uma instncia da classe
EntityManagerFactory.
Entidades
O ORM o mapeamento dos objetos do sistema
em uma estrutura tabular do banco de dados.
Como j vimos em Hibernate, as anotaes so
utilizadas realizar o mapeamento objeto
relacional.
Inserir
Para realizar uma insero simples. Basta
passar o objeto criado com os valores dos
atributos como parmetro para o mtodo
persist( ).
Alterar
A operao de alterao tambm segue o
mesmo raciocnio, apenas mudando o mtodo
utilizado, que neste caso ser o merge( ).
Excluir
Para excluir um objeto, preciso que ele j
esteja em poder do entity manager. Para isso,
pode-se dentro do escopo do mesmo entity
manager dar um merge ou um find, e a sim
chamar o mtodo remove( ) .
Buscar
Para buscar um objeto, preciso informar o tipo
e o id da entidade, que sero passados como
parmetro no mtodo find( )
Concluso
Foi visto que JPA consegue abordar grande parte
dos conceitos relacionais. Ao final, foram
apresentadas as 4 formas bsicas de interao
com o BD: insero, atualizao, remoo e
busca, onde foi visto que no foi necessrio o
uso de linguagens de consulta.
Com a utilizao de JPA para persistncia de
dados podemos explorar o melhor dos
frameworks provedores dessa especificao para
melhorarmos ainda mais nossas aplicaes.