18. JPA
acrônimo de Java Persistence API
framework de mapeamento objeto-relacional
foi baseado na implementação do Hibernate
faz parte da especificação EJB 3.0, sob a JSR de
número 220
atualmente se encontra na versão 1.0 e a versão 2.0
está no forno para sair em breve
facilitou e muito a vida dos desenvolvedores
utilização de classes POJO
19. JPA
configurações através de Annotations
é um padrão JavaEE
várias implementações disponíveis (Toplink,
Hibernate, OpenJPA, Kodo, etc)
utiliza JDBC por debaixo dos panos
utilizado em containers JEE e ambientes JSE
atualmente é arquitetura de referência para
aplicativos Java
20. JPA: arquitetura
Aplicação Java
Java Persistence API
Hibernate Toplink Kodo
Implementações
22. JPA: o EntityManager
é a principal interface da JPA que interage com o
contexto de persistência
um contexto de persistência é um conjunto de
instâncias de entidade
essa interface define os métodos que serão utilizados
para interagir com esse contexto
interface utilizada para criar, remover, pesquisar e
atualizar entidades
23. JPA: principais métodos
void persist(Object entity): faz uma instância de
entidade gerenciada e persistente
void remove(Object entity): remove uma entidade
void refresh(Object entity): atualiza o estado de uma
instância/entidade do banco de dados
<T> T find(Class<T> entityClass, Object primaryKey):
pesquisa por uma chave primária
24. Mão na massa
criar um projeto na sua IDE preferida
criar um arquivo chamado persistence.xml, dentro do
diretório META-INF e em sources
crie uma entidade Usuario, que possui um id (Long) e
um nome (String)
criar uma classe chamada TesteJPA que contenha um
método main
criar, atualizar, pesquisar e remover uma entidade
(Usuario) no banco de dados utilizando JPA
28. Mas... e o Hibernate?
possui algumas características da JPA
» framework de mapeamento objeto-relacional
» junto com JPA, é padrão de mercado
» utiliza JDBC por debaixo dos panos
» configurações através de Annotations
» e muito mais...
foi criado pelo Gavin King, um dos membros
da JSR 220 (JPA) e criador do JBoss Seam
29. Mas... e o Hibernate?
é mantido pela JBoss
é free e open source
está no mercado a mais de 6 anos
30. Porém...
possui um fórum com cerca de 30 mil
participantes
é o framework de persistência Java mais
utilizado do mercado
possui inúmeras features que a versão 1.0
da JPA não implementou (como o Criteria)
cache
pode ser utilizado em cluster
33. Mão na massa
criar um projeto na sua IDE preferida
criar um arquivo chamado hibernate.cfg.xml, em
sources
utilize a entidade Usuario criada no exercício anterior
criar uma classe chamada TesteHibernate que
contenha um método main
criar, atualizar, pesquisar e remover uma entidade
(Usuario) no banco de dados utilizando Hibernate
34. Download da apresentação e
exemplos: www.rafaelcarneiro.org
Cursos de Java:
www.fa7.com.br/formacaojava