Buscar

Aula 02Persistencia (1)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Hibernate e JPA
 
● Entender a diferença entre a JPA e o Hibernate;
● Usar a ferramenta de ORM JPA com Hibernate;
 
● Com a popularização do Java em ambientes 
corporativos, logo se percebeu que grande 
parte do tempo do desenvolvedor era gasto na 
codificação de queries SQL e no respectivo 
código JDBC responsável por trabalhar com 
elas
 
● SQL que, apesar de ter um padrão ANSI, 
apresenta diferenças significativas dependendo 
do fabricante. 
● Não é simples trocar um banco de dados pelo 
outro.
 
Mudança de paradigma
● A programação orientada a objetos difere muito 
do esquema entidade relacional 
● precisamos pensar das duas maneiras para 
fazer um único sistema
 
● As tabelas geralmente possuem chave primária 
(PK) e podem ser relacionadas por meio da 
criação de chaves estrangeiras (FK) em outras 
tabelas.
● Quando trabalhamos com uma aplicação Java, 
seguimos o paradigma orientado a objetos, 
onde representamos nossas informações por 
meio de classes e atributos
 
● Além disso, podemos utilizar também herança, 
composição para relacionar atributos, 
polimorfismo, enumerações, entre outros.
● Isso faz com que frequentemente a todo 
momento devemos “transformar” objetos em 
registros e registros em objeto.
 
Java Persistence API e Frameworks 
ORM
● Ferramentas de Objeto Relacional (ORM)
● O Hibernate é uma ferramenta ORM open 
source e é a líder de mercado, sendo a 
inspiração para a especificação Java 
Persistence API (JPA)
● O Hibernate nasceu sem JPA mas hoje em 
dia é comum acessar o Hibernate pela 
especificação JPA
 
Implementações mais comuns
● Hibernate da JBoss, EclipseLink da Eclipse 
Foundation e o OpenJPA da Apache. Apesar do 
Hibernate ter originado a JPA, o EclipseLink é a 
implementação referencial.
 
● O Hibernate abstrai o seu código SQL, toda a 
camada JDBC e o SQL será gerado em tempo 
de execução
● Mais que isso, ele vai gerar o SQL que serve 
para um determinado banco de dados, já que 
cada banco fala um "dialeto" diferente dessa 
linguagem.
 
● Há também a possibilidade de trocar de banco 
de dados sem ter de alterar código Java, já que 
isso fica como responsabilidade da ferramenta.
 
Biblioteca do Hibernate e JPA
● www.hibernate.org
● Para usar o Hibernate e JPA no seu projeto é 
necessário colocar todos esses JARs no 
classpath.
 
Montando o Projeto
● Jars
● hibernate-entitymanager-4.2.19.Final.jar
● antlr-2.7.7.jar
● dom4j-1.6.1.jar
● hibernate-commons-annotations-4.0.2.Final.jar
● hibernate-core-4.2.19.Final.jar
● hibernate-jpa-2.0-api-1.0.1.Final.jar
● javassist-3.18.1-GA.jar
● jboss-logging-3.1.0.GA.jar
● jboss-transaction-api_1.1_spec-1.0.1.Final.jar
● postgresql-9.1-903.jdbc4.jar
 
Configurando o persistence.xml
● Feita a adição das bibliotecas no classhpath do 
seu projeto, você precisará de um arquivo 
chamado persistence.xml que é usado pelo JPA 
para realizar as configurações importantes para 
o projeto, tais como: conexão com o banco de 
dados e outras configurações extras
 
 
● Na tag <persistence-unit> devemos definir 
qual o nome da nossa unidade de 
persistência, através da propriedade name 
que em nosso caso é crudHibernatePU
● Esse nome será usado programaticamente 
para que o JPA saiba quais são as 
configurações que ele deve usar, como um 
binding entre a aplicação e o arquivo 
persistence.xml.
 
● A tag provider identifica qual o framework que 
estamos utilizando em conjunto com o JPA, no 
nosso caso é o Hibernate. 
● Abaixo temos várias tags <property>, a 
hibernate.dialect define um dialeto padrão para 
escrita de comandos SQL e o jdbc.driver define 
qual o driver do banco que estamos utilizando, 
em nosso caso o org.postgresql.Driver.
 
● Nas três últimas propriedades temos o link de 
conexão ao banco, o usuário e finalmente a 
senha. Para quem já trabalhou com o 
DriverManager vai notar uma pequena 
semelhança com a conexão JDBC que 
fazíamos lá.
Esta propriedade apresentada configura o 
que o Hibernate deve fazer com o banco de 
dados ao ser iniciado
 
● No caso acima estamos definindo o seu valor 
como “update”, isso significa que toda vez ao 
iniciar a nossa aplicação o Hibernate irá 
checar por alterações entre o mapeamento e o 
banco de dados, como uma propriedade 
adicionada em uma classe. Quando é 
encontrada alguma alteração então o Hibernate 
executa o DDL para atualizar o banco de 
dados.
 
● É muito importante ter cuidado quando esta 
propriedade estiver sendo usada pois ela pode 
alterar o banco de dados de uma forma que 
você não desejava, por isso tenha certeza de 
que realmente precisa dela.
● Você deve criar um diretório chamado META-
INF e colocar dentro do diretório src. Dentro do 
META-INF você deve colocar o 
persistence.xml.
 
DAO
● Uma classe DAO (Data Access Object) que 
fará a comunicação com o banco de dados, 
realizando as operações básicas (CRUD).
● Toda a chamada para da aplicação será feita 
para nosso DAO que se responsabilizará pela 
comunicação com o banco de dados.
 
● Nosso DAO irá fazer CRUD com uma classe 
chamada Cliente, para isso vejamos como 
mapear 
 
Referência
● https://www.devmedia.com.br/jpa-e-hibernate-
acessando-dados-em-aplicacoes-java/32711
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23

Continue navegando