Professional Documents
Culture Documents
Jefferson S Silva
Mapeamento objeto-relacional
Mas como?
SQL + JDBC !?
Manutenibilidade
Menos linhas de cdigo == melhor manuteno Reduo drstica do impacto de mudanas na base de dados
Desempenho
Os recursos da soluo de MOR (cache, lazy) podem melhorar o desempenho das buscas Sobra tempo para a equipe trabalhar em otimizaes do sistema
O que JPA
A JPA uma especificaes da linguagem Java para a persistncia de dados. Atua na camada de persistncia de dados. Define o mapeamento objeto-relacional com base em anotaes
Viso geral
Existem algumas implementaes
Toplink Hibernate GlassFish
Todos implementam a soluo ORM de acordo com a especificao JPA Tm o formato de arquivos *.jar que adicionados ao classPath da aplicao tornam-se disponveis
A implementao Hibernate
Mais conhecida, mais tradicional. Endereo para Download.
http://www.hibernate.org
Os arquivos necessrios.
Na pagina de downloads
Utilizando a JPA
Passos para a utilizao
Download e instalao; Criao das classes persistentes; Definio do MOR; Configurao da JPA; Criao das tabelas no SGBD; Usar a API de manipulao dos dados.
Utilizando a JPA
Os arquivos *.jar devem ser referenciados no Build Path da aplicao Com a IDE eclipse fica fcil.
Projeto > Propriedades > Java Build Path > Libraries > add JARs...
Bibliotecas necessrias
antLr asm asm-attrs c3p0 cglib commons-collection commons-logging dom4j ehcache jaxem jdbc2_0-stdext jta log4j
Bibliotecas necessrias
As mais importantes hibernate3 ejb3-persistence hibernate-annotations Hibernate-entitymanager
10
Default : @Basic
11
12
Ramal
13
14
15
CascadeType.PERSIST
Em uma operao de persistncia, a entidade possuidora persistida em conjunto com a entidade que a completa, no sendo necessria a operao de persistncia manual da outra entidade!
CascadeType.MERGE
A sincronizao no banco de dados realizada automaticamente para as entidades que completam uma entidade principal.
16
CascadeType.REMOVE
Remoo em cascata A entidade E2 associada a entidade E1, tambm ser removida!
CascadeType.REFRESH
Parecido com MERGE Atualiza a instncia do objeto a partir do Banco de Dados As entidades relacionadas tambm sero atualizadas
17
18
19
20
show_sql: Esta propriedade indica ao hibernate se dever ou no logar todos os comandos SQL. Os possiveis valores so: true ou false.
Manuseando os objetos
21
22
23
24
Mos a obra
25
Estrutura
Estrutura do projeto
26
Adicionando os jars
A fonte
Fazer o donwload ( http://www.hibernate.org/6.html ) Descompactar os arquivos Copiar os arquivos *.jar para a aplicao Adiciona ao Build Path
Adicionando os jars
Para adicionar ao build path: projeto > propriedades > libraries > add JARs...
27
Mapeando as propriedades
28
Ou
29
30
Entidade Usuario
Mapeando os relacionamentos
31
Entidade Ramal
32
Entidade Ramal
33
34