migrando de jdbc para jpa

36
MIGRANDO DE JDBC PARA JPA Hébert Coelho de Oliveira

Upload: wilma-hansen

Post on 02-Jan-2016

66 views

Category:

Documents


3 download

DESCRIPTION

Migrando de JDBC para JPA. Hébert Coelho de Oliveira. Sobre mim. 10 anos como desenvolvedor 3+ anos com Java Pós graduação: MIT Engenharia de Software com Java Certificações: SCJP, SCWCD, OCBCD (em breve) Criador do blog http://uaihebert.com Professor de Java básico/Web - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Migrando de JDBC para JPA

MIGRANDO DE JDBC PARA JPAHébert Coelho de Oliveira

Page 2: Migrando de JDBC para JPA

SOBRE MIM

10 anos como desenvolvedor 3+ anos com Java Pós graduação: MIT Engenharia de Software

com Java Certificações: SCJP, SCWCD, OCBCD (em

breve) Criador do blog http://uaihebert.com Professor de Java básico/Web E o mais importante, torcedor do Real Madrid

Page 3: Migrando de JDBC para JPA

O QUE É JDBC?

JDBC não é – Joça Do Barcelona, caiu! JDBC é - Java Database Connectivity Considerada API de baixo nível. Serve de ponte

Aplicação JDBC Banco de dados

Page 4: Migrando de JDBC para JPA

FACILIDADES DO JDBC

Drivers ResultStatement Migrar de Banco de dados* Fácil configuração: URL, Rede, Instalação

Page 5: Migrando de JDBC para JPA

INSERINDO NO BANCO

E como ficaria 1x1?

Page 6: Migrando de JDBC para JPA

INSERINDO EM RELACIONAMENTO 1X1

E como ficaria 1xN?

Page 7: Migrando de JDBC para JPA

INSERINDO EM RELACIONAMENTO 1XN

E se fosse N x N?

Page 8: Migrando de JDBC para JPA

INSERINDO EM RELACIONAMENTO N X N

Alguém imagina qual seria o comportamento do script acima caso o sexto insert desse algum erro?

E como ficaria o ID na vida real? E como ficaria um insert em uma tabela

passando campos dinâmicos?

Page 9: Migrando de JDBC para JPA

CAMPOS DINÂMICOS

Bastante suscetível a erros, não?

Page 10: Migrando de JDBC para JPA

ONDE ESTÁ O ERRO?

Page 11: Migrando de JDBC para JPA

ONDE ESTÁ O ERRO?

Page 12: Migrando de JDBC para JPA

ONDE ESTÁ O ERRO?

Page 13: Migrando de JDBC para JPA

ONDE ESTÁ O ERRO?

Page 14: Migrando de JDBC para JPA

COMO SERIA UMA CONSULTA

Imagine se essa classe tivesse os 30 atributos retornados nessa consulta?

Page 15: Migrando de JDBC para JPA

VOCÊ PODERIA TER A SEGUINTE REAÇÃO....

Page 16: Migrando de JDBC para JPA

OU ENTÃO...

Page 17: Migrando de JDBC para JPA

E QUEM TE PASSOU A “TAREFA CHATA”...

Page 18: Migrando de JDBC para JPA

ONDE CHEGAMOS?

SQL complexo é difícil dar manutenção Muito código em SQL para uma ação simples Não é muito viável ter diversos bancos de

dados na mesma aplicação Caso algum atributo de uma classe mude,

todos os “scripts” terão que mudar Por que com JPA os “scripts” não mudariam? Por que com JPA eu não teria problemas de

migração de banco?

Page 19: Migrando de JDBC para JPA

FINALMENTE VAMOS FALAR DO JPA \O/

O que é o JPA? O que é Hibernate, EclipseLink, OpenJPA?

Como o JPA trabalha? Como ele é portável? O que é JPQL? Como ele trata os relacionamentos? É possível migrar aos poucos? Como funciona a transação com o banco de

dados? Como ele funciona com web e desktop? E como última pergunta.... Como o Real Madrid consegue ser tão

bom???

Page 20: Migrando de JDBC para JPA

CONFIGURAÇÃO

Arquivo /META-INF/persistence.xml

Page 21: Migrando de JDBC para JPA

BIBLIOTECAS

Bibliotecas da Implementação

Page 22: Migrando de JDBC para JPA

ENTITY

O que é uma Entity? O que uma classe precisa para ser uma Entity?

Page 23: Migrando de JDBC para JPA

ENTITY

Page 24: Migrando de JDBC para JPA

INSERINDO NO BANCO

E como ficaria 1x1?

Page 25: Migrando de JDBC para JPA

RELACIONAMENTO 1X1 (ONE TO ONE)

Uni direcional:

Bi direcional

Page 26: Migrando de JDBC para JPA

INSERINDO EM RELACIONAMENTO 1X1

E como ficaria 1xN?

Page 27: Migrando de JDBC para JPA

RELACIONAMENTO 1XN (ONE TO MANY)

Uni direcional:

Bi direcional

Page 28: Migrando de JDBC para JPA

INSERINDO EM RELACIONAMENTO 1XN

E se fosse N x N?

Page 29: Migrando de JDBC para JPA

RELACIONAMENTO N X N (MANY TO MANY)

Uni direcional:

Bi direcional

Page 30: Migrando de JDBC para JPA

INSERINDO EM RELACIONAMENTO N X N

Page 31: Migrando de JDBC para JPA

COMO SERIA UMA CONSULTA

Imagine se essa classe tivesse os 30 atributos retornados nessa consulta?

Page 32: Migrando de JDBC para JPA

VOCÊ PODERIA TER A SEGUINTE REAÇÃO....

Page 33: Migrando de JDBC para JPA

OU ENTÃO...

Page 34: Migrando de JDBC para JPA

E QUEM TE PASSOU A “TAREFA CHATA”...

Page 35: Migrando de JDBC para JPA

FINALIZANDO

Facilidade de migrar o banco Redução do trabalho manual para persistir

dados Maior agilidade no desenvolvimento Desacopla mais a aplicação E por último... Dá mais tempo para o desenvolvedor realizar

testes, deixa o código limpo. E lógico, dá mais tempo para ver jogos do

Real Madrid!

Page 36: Migrando de JDBC para JPA

DÚVIDAS?

Agradeço a todos pela oportunidade. [=

http://uaihebert.com

[email protected]