Top Banner
Mini-curso JPA com Hibernate I Café com Tapioca em Sobral I Café com Tapioca em Sobral Rafael Carneiro Rafael Carneiro
34

JPA com Hibernate

Dec 18, 2014

Download

Technology

Rafael Carneiro

Mini-curso realizado no I Café com Tapioca em Sobral, no dia 11 de outubro de 2008.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JPA com Hibernate

Mini-curso JPA com

Hibernate

I Café com Tapioca em SobralI Café com Tapioca em Sobral

Rafael CarneiroRafael Carneiro

Page 2: JPA com Hibernate

Nuvem de tags

JPA Hibernate

EntityManagerToplink annotations

Criteria

JPA Hibernate

persistence.xmlJSR 220

JDBC

Gavin King

Page 3: JPA com Hibernate

O que é persistência?

Page 4: JPA com Hibernate

Como era antes (com JDBC)

Page 5: JPA com Hibernate

Configurações do banco

Page 6: JPA com Hibernate

Configurações do banco

Page 7: JPA com Hibernate

Obtendo uma conexão

Page 8: JPA com Hibernate

Obtendo uma conexão

Page 9: JPA com Hibernate

Inserindo um usuário no banco

Page 10: JPA com Hibernate

Inserindo um usuário no banco

Page 11: JPA com Hibernate

Pesquisando um usuário no banco

Page 12: JPA com Hibernate

Pesquisando um usuário no banco

Page 13: JPA com Hibernate

Pesquisando um usuário no banco

POG, ☺POG, ☺

Page 14: JPA com Hibernate

Pesquisando um usuário no banco

(continuação...)

Page 15: JPA com Hibernate

Mas...pra quê tudo isso?

KISS...KISS...

please!

Page 16: JPA com Hibernate

Mas...pra quê tudo isso?

Keep ItKeep It

Simple,

Stupid!

Page 17: JPA com Hibernate

Como é agora

Page 18: JPA com Hibernate

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� 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

Page 19: JPA com Hibernate

JPA

� configurações através de Annotations

� é um padrão JavaEE

� várias implementações disponíveis (Toplink,

Hibernate, OpenJPA, Kodo, etc)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

Page 20: JPA com Hibernate

JPA: arquitetura

Aplicação Java

Java Persistence API

Hibernate Toplink Kodo

Implementações

Page 21: JPA com Hibernate

JPA: arquitetura

persistence.xml

EntityManager

Transações

Persistence

EntityManagerFactory

EntityManager

Query

Page 22: JPA com Hibernate

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 entidadeinstâ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

Page 23: JPA com Hibernate

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 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

Page 24: JPA com Hibernate

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 sourcesdiretó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

Page 25: JPA com Hibernate

Livros

Page 26: JPA com Hibernate

Ah-rá! Eu sei o que é Hibernate!

Page 27: JPA com Hibernate

Um pouco de história...

Page 28: JPA com Hibernate

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» utiliza JDBC por debaixo dos panos

» configurações através de Annotations

» e muito mais...

� foi criado pelo Gavin King, um dos membrosda JSR 220 (JPA) e criador do JBoss Seam

Page 29: JPA com Hibernate

Mas... e o Hibernate?

� é mantido pela JBoss

� é free e open source

� está no mercado a mais de 6 anos� está no mercado a mais de 6 anos

Page 30: JPA com Hibernate

Porém...

� possui um fórum com cerca de 30 milparticipantes

� é o framework de persistência Java maisutilizado do mercadoutilizado do mercado

� possui inúmeras features que a versão 1.0da JPA não implementou (como o Criteria)

� cache

� pode ser utilizado em cluster

Page 31: JPA com Hibernate

Alternativas ao Hibernate

Page 32: JPA com Hibernate

Livros

Page 33: JPA com Hibernate

Mão na massa

� criar um projeto na sua IDE preferida

� criar um arquivo chamado hibernate.cfg.xml, em

sourcessources

� 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

Page 34: JPA com Hibernate

Download da apresentação e

exemplos: www.rafaelcarneiro.org

Cursos de Java:

www.fa7.com.br/formacaojavawww.fa7.com.br/formacaojava