JPA com Hibernate

Preview:

DESCRIPTION

Mini-curso realizado no I Café com Tapioca em Sobral, no dia 11 de outubro de 2008.

Citation preview

Mini-curso JPA com

Hibernate

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

Rafael CarneiroRafael Carneiro

Nuvem de tags

JPA Hibernate

EntityManagerToplink annotations

Criteria

JPA Hibernate

persistence.xmlJSR 220

JDBC

Gavin King

O que é persistência?

Como era antes (com JDBC)

Configurações do banco

Configurações do banco

Obtendo uma conexão

Obtendo uma conexão

Inserindo um usuário no banco

Inserindo um usuário no banco

Pesquisando um usuário no banco

Pesquisando um usuário no banco

Pesquisando um usuário no banco

POG, ☺POG, ☺

Pesquisando um usuário no banco

(continuação...)

Mas...pra quê tudo isso?

KISS...KISS...

please!

Mas...pra quê tudo isso?

Keep ItKeep It

Simple,

Stupid!

Como é agora

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

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

JPA: arquitetura

Aplicação Java

Java Persistence API

Hibernate Toplink Kodo

Implementações

JPA: arquitetura

persistence.xml

EntityManager

Transações

Persistence

EntityManagerFactory

EntityManager

Query

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

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

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

Livros

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

Um pouco de história...

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

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

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

Alternativas ao Hibernate

Livros

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

Download da apresentação e

exemplos: www.rafaelcarneiro.org

Cursos de Java:

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

Recommended