jpa, hibernate and jpql
TRANSCRIPT
JAva Persisten
ce API, Hibernate e Java Query
Language
programacao cWilliam A R de Avila & Robson da Costa
Programação C - Faculdade Dom Bosco de Porto Alegre - RS - Brasil
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.
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
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
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
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;
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
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
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
JAPI exemplos de código
➢Estrutura Básica JPA ➢Criação de classe
➢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
Hibernate exemplos de
código
➢Após criarmos a tabela, teremos que criar a classe no Java como no exemplo
Hibernate exemplos de
código➢Agora temos que criar o XML para fazer o relacionamento entre atributo e os campos da tabela
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: