Beruflich Dokumente
Kultur Dokumente
Hibernate e JPA
Objetivos
Palestrante
Henrique Eduardo M. Oliveira (henrique@voffice.com.br)
Trabalha: Arquiteto JEE / Instrutor Java
Formao: Cincias da Computao pela UFSC
Experincia: +7 anos com desenvolvimento de sistemas
em Java, especialmente para WEB
Certificaes: SCJA, SCJP 5, SCWCD 1.4, SCEA 5
Hobby: Praia e Cinema
3
Agenda
Agenda
Persistncia
Capacidade de gravarmos dados em memrias no
volteis
hard-disk, tape-backup, CD, DVD, etc.
Agenda
Tecnologias populares
JDBC com cdigo SQL e Data Access
Object Pattern;
RDO, ADO e DAO na plataforma
Microsoft;
PL/SQL com Oracle Forms;
8
JDBC
API do Java para acesso a banco de dados;
Trabalha com esquema de Driver (4 tipos):
JDBC / ODBC
Nativo
Middleware Driver
Puro Java
Demo JDBC
10
Mundo novo
No mundo novo...
Entity Beans 1.x (padro Java EE)
Entity Beans 2.0 e 2.1 (padro Java EE)
Hibernate
Oracle TopLink
Java Data Objects
Prevailer
Alternativas
Em algumas implementaes, o XML ficou
excessivo (Entity 2.x);
Alternativas para o padro Entity Bean:
Spring;
Pico Container;
OJB;
Hibernate stand-alone;
Hibernate com EJBs Session;
Outro framework com Web ou EJB;
12
Agenda
13
Porque utilizar?
Custo
opensource LGPL;
Benefcio
uma soluo poderosa, madura e portvel compatvel com
diversos bancos de dados relacionais e servidores de aplicao
JEE;
Curva de aprendizado
rpida comparada com as outras solues;
Documentao
livros publicados e diversos tutoriais e artigos disponveis na
internet;
14
Porque utilizar?
Suporte
pode ser contratado comercialmente ou pode se recorrer a uma
comunidade extremamente ativa nos fruns de discusso;
Padro De Facto
amplamente adotado pelo mercado superando as
especificaes EJB 2.x e JDO;
15
Nmero de profissionais
Exemplo
Um JavaBean Cliente, contendo os
atributos:
id, nome, cpf, telefone, email
XMLs
Um hibernate-config.xml configurando o JDBC
e dialeto:
XMLs
Um xml para cada definio de entidade,
neste caso chamamos o arquivo abaixo
de Cliente.hbm.xml:
18
19
Salvar e Remover
20
21
Relacionamentos
Podemos definir as associaes / composies dos
nossos objetos. Vejamos um exemplo para a classe
Cliente que se relaciona com a classe Endereco:
22
A classe Cliente
24
O fenmeno XDoclet
Diversas tecnologias passaram a utilizar
documentos XML como parte da implementao
e configurao de um framework:
Struts, Hibernate, EJBs, Java Web Components,
Log4J, Tiles, etc.
Resultado
um emaranhado de XMLs para gerenciar;
Soluo
usar comentrios no formato JavaDoc para inserir
meta-dados e configuraes no cdigo Java.
26
O fenmeno XDoclet
O Xdoclet estende o
JavaDoc, criando
anotaes no estilo
@XPTO para gerar
arquivos XML para
os frameworks.
27
Annotations
No Java 1.5 a anotaes so nativas, ou seja,
no precisamos colocar em comentrios:
28
Agenda
29
30
31
32
Agenda
33
Hibernate e JPA
Downloads:
Hibernate 3.3.x Core
Hibernate 3.4.x EntityManager
Agenda
35
36
37
38
39
41
42
43
44
45
Concluses
O que j era bom (Hibernate 3), ficou
ainda melhor! (3.x com Persistence API);
O foco das especificaes na facilidade de
uso (ex. EJB, Faces, Java 5) comea a
fazer diferena no mercado.
Vocs ainda escrevem cdigos SQL???
46
Dvidas?
Apresentao e cdigo fonte disponvel em:
http://code.google.com/p/vofficejava/
Contato:
henrique@voffice.com.br
47