Você está na página 1de 15

Especificao JDBC

Consultas definidas com a linguagem


SQL
Complexidade aumentada no
trabalho do desenvolvedor
Conflito de paradigmas (OO vs MR)

Ferramenta de ORM
Consultas independentes da
linguagem SQL
Necessidade de mapeamento entre
OO e MR
O Hibernate a ferramenta mais
conhecida.

Especificao JPA
Padroniza as ferramentas ORM
Diminui a complexidade do
desenvolvimento
apenas uma especificao, no
implementa nenhum cdigo.
Exemplo de implementaes:
Hibernate, EclipseLink e OpenJPA.

Bundle
Jars do hibernate e todas a suas
dependncias
Site oficial: http://www.hibernate.org/
Tem tudo em um jar, se for preciso
mais algum, tem na pasta required

Configurao
Criar um arquivo chamado
persistence.xml na pasta META-INF

Mapeamento
@Entity -> A classe mapeada para
tabela
@Id -> Indica que o atributo a
chave
@GeneratedValue -> Indica que o
atributo gerado automaticamente

Gerao Tabelas
Baseada em anotaes colocadas
nas classes e as informaes
presentes no persistence.xml
A gerao se dar pelo mtodo da
classe Persistence:
createTntityManagerFactory(String
entityUnit)
Onde entityUnit a unidade definida em
persistence.xml

Poltica de criao de
tabelas
HIBERNATE. HBM2 DDL.AUTO =
create-drop
Cria a tabela toda vez que for executado

HIBERNATE. HBM2 DDL.AUTO =


update
- atualiza a tabela quando ouver
alterao nas classes de entidade
HIBERNATE. HBM2 DDL.AUTO =
create
Cria se no existir

Manipulando Enitdades
EntityManagerFactory =
Persistence.createEntityManagerFact
ory("livraria");

Persistindo
Editora novaEditora = new Editora();
novaEditora.setNome(entrada.nextLine
());
novaEditora.setEmail(entrada.nextLine
());
manager.persist(novaEditora);

Buscando
Editora editora1 = manager . find
( Editora . class , 1 L ) ;
2 Editora editora2 = manager .
getReference ( Editora . class , 2 L )

Removendo
Editora editora = manager . find
( Editora . class , 1 L ) ;
2 manager . remove ( editora ) ;
Cdigo Java 1.9: Marcando um objet

Atualizando
Para alterar os dados de um registro
correspondente a um objeto,
podemos utilizar os prprios
mtodos setters desse objeto.
1 Editora editora = manager . find
( Editora . class , 1 L ) ;
2 editora . setNome ( " K19 - Livros e
Publicaes " ) ;

Listando
Query query = manager .
createQuery ( " SELECT e FROM
Editora e " ) ;
2 List < Editora > editoras = query .
getResultList ()

Você também pode gostar