jpa, hibernate and jpql

15
JAva Persisten ce API, Hibernate e Java Query Language

Upload: robson-da-costa

Post on 12-Apr-2017

181 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Jpa, hibernate and jpql

JAva Persisten

ce API, Hibernate e Java Query

Language

Page 2: Jpa, hibernate and jpql

programacao cWilliam A R de Avila & Robson da Costa

Programação C - Faculdade Dom Bosco de Porto Alegre - RS - Brasil

Page 3: Jpa, hibernate and jpql

Introdução

➢Informação (datas,valores)

➢SGBD➢Modelo relaciona x Modelo Orientado a objetos

➢ORM

ORM, é um mecanismo mediador utilizado para converte as informações de um modelo de dados relacional e um modelo orientado a objetos.

Page 4: Jpa, hibernate and jpql

java persistence api - jpa➢ API padrão do JAVA

➢ Conceito de POJO (usa o conceito de entidade, que permite gravar os objetos na base de dados)

➢ ORM permite transformarmos as tabelas do banco em classes

➢ Programador passa a usar a programação em JAVA ao invés de comandos SQL

➢ Para isso se usa metadados que podem ser desenvolvidos em XML

Page 5: Jpa, hibernate and jpql

Hibernate➢ Framework escrito em JAVA

➢ Utiliza linguagem HQL(Hibernate Query Language)

➢ Usa funções para consulta e escrita de dados, permitindo que o software codificado trabalhe com muitos bancos diferentes

➢ HQL é totalmente orientada a Objeto porém muito parecida com o SQL

➢ Você pode optar por utilizar SQL sobre o Java ao invés do contrario

Page 6: Jpa, hibernate and jpql

Hibernate➢ Facilita portabilidade do banco

➢ Ao lado podemos visualizar o funcionamento do Hibernate

➢ Vantagens:

○ Simplifica o código

○ Abstrai a parte do BD

○ Evita reescrever códigos SQL

➢ Desvantagens:

○ Exige muita bibliotecas para funcionar

➢ O Hibernate é um facilitador

Page 7: Jpa, hibernate and jpql

Java Persistence Query Language➢ Linguagem que o JAVA utiliza para comunicação com BD

➢ Utilizado para fazer consultas a entidades armazenadas no BD

➢ Semelhante ao SQL

➢ SELECT a FROM autor1 ORDER BY a.nome,a.sobrenome;

Page 8: Jpa, hibernate and jpql

JAPI e Hibernate

➢JAPI, versão atual 2.x, surge para apoiar os

problemas existentes com persistência durante o

uso do EJB

➢O Hibernate ja na versão 4.x, incorpora anotações no código, substituindo XML

➢Assim como JPA e JPQL surgem para apoiar o desenvolvedor na implementação do persistencia em Java

Page 9: Jpa, hibernate and jpql

Alternativas disponíveis - JBDC - Conjunto de classess escritas em Java que permite

complexas consultas SQL

- EclipseLink, um framework semelhante ao Hibernate que utiliza sua linguagem prpria para executar query

- Apache OpenJPA, outro framework semelhante ao hibernate que utiliza Java Query e também sua própria linguagem

para executar query

Page 10: Jpa, hibernate and jpql

JAPI e Hibernate

➢O JPA implementa a facilidade de tornar objetos simples com

algum construtor default , persistíveis

➢Sendo assim bastam anotações no código ou um metadados XML para o mapeamento relacional

➢HQL é orientada a objeto

➢O Hibernate cria todos os comandos SQL, independente do banco, efetuando inclusive o port automatico

Page 11: Jpa, hibernate and jpql

JAPI exemplos de código

➢Estrutura Básica JPA ➢Criação de classe

Page 12: Jpa, hibernate and jpql

➢Ao Executar a classe é transformada

em uma simples tabela,

claro que para tal foi necessário configurar o

login no arquivo xml.

JAPI exemplos de código

Page 13: Jpa, hibernate and jpql

Hibernate exemplos de

código

➢Após criarmos a tabela, teremos que criar a classe no Java como no exemplo

Page 14: Jpa, hibernate and jpql

Hibernate exemplos de

código➢Agora temos que criar o XML para fazer o relacionamento entre atributo e os campos da tabela

Page 15: Jpa, hibernate and jpql

Hibernate exemplos de

código➢Agora criar o arquivo para conectar com o banco de dados

➢Criação de um arquivo onde é instanciado as classes: