SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
JPA e Hibernete
Desenvolvedores:
Elielson Ferreira Pinheiro
Josias Cardoso Lisboa
Luiz Eduardo Mota
Michael André Costa
Serviço Publico Federal
Ministério da Educação
Instituto Federal de Educação, Ciência e Tecnologia do Pará
Campus Abaetetuba
Curso Técnico Integrado em Informática
Agenda
• O que é JPA;
• Implementações da JPA;
• Onde usar a JPA;
• Histórico da JPA;
• Características do Hibernate;
• Histórico do Hibernate;
• Vantagens do Hibernate;
• Desvantagens do Hibernate;
O que é
JPA ?
O que é JPA (Java Persistence API)
• Conjunto de especificações para definir um comportamento
de persistência de dados.
+
Implementações do JPA
• Hibernate
• OpenJPA
• EclipseLink
• TopLink
• Batoo
Batoo
Onde usar JPA?
• Substituir o JDBC
• Economizar tempo de desenvolvimento
Histórico do JPA
• EJB 3.0
• JPA 2.0
• JPA 2.1
Hibernate
CARACTERISTICAS
• O objetivo do Hibernate é diminuir a complexidade entre os programas Java,
baseado no modelo orientado a objeto, que precisam trabalhar com um banco de
dados do modelo relacional . Em especial, no desenvolvimento de consultas e
atualizações dos dados.
• Sua principal característica é a transformação das classes em Java para tabelas de
dados (e dos tipos de dados Java para os da SQL).
• Na versão 3.x o Hibernate implementa a especificação JPA (Java Persistence API)
através do conceito de anotações (implementada a partir do JDK5), o que facilita
ainda mais o mapeamento objeto-relacional, que pode agora ser feito diretamente
na classe, substituindo o uso dos arquivos XML.
• Gerenciamento de transações não é responsabilidade do Hibernate e sim de
outros elementos na infraestrutura do programa.
CARACTERISTICAS
• Hibernate pode ser utilizado em aplicações Java
standalone ou em aplicações Java EE, utilizando servlet
ou sessões EJB beans.
• Hibernate é um software livre de código aberto
distribuído com a licença LGPL (GNU Lesser General
Public License).
HISTORICO
• O framework Hibernate foi desenvolvido por uma equipe de programadores Java
liderada por Gavin King e teve sua primeira versão divulgada em 2004. Segundo
King, um dos objetivos ao criar o projeto era resolver seus problemas referentes
à persistência causados pelo EJB 2.0, o qual considerava muito complexo.
• “Eu queria resolver um problema interessante, um problema que me afetava
pessoalmente. Eu estava frustrado com o trabalho com entity beansno estilo EJB
2 e as frágeis camadas de persistência escritas à mão. “ Gavin King, criador do
Hibernate em entrevista.
• Com um escopo muito vasto, o projeto tornou-se inviável de ser mantido apenas
nos tempos livres, assim King aceitou entrar para o JBoss Group, passando a
ser remunerado para continuar a desenvolver o projeto, o que lhe permitiu
dedicação completa ao Hibernate.
ESTRUTURA/IMPLEMENTAÇÃO JPA
VANTAGENS
• Open Source(licensa LGPL);
• Transformação das classes em Java para tabelas de dados (e dos
tipos de dados Java para os da SQL);
• Livra o programador da conversão manual do resultset, sendo
altamente portável;
• Escrever (bem) menos código repetitivo, sem perder flexibilidade;
• Acesso a recursos nativos/específicos dos bancos de dados;
• Menos preocupação da arquitetura de persistência;
DESVANTAGENS
• Para executar consultas mais complexas, geralmente é
necessário algum tempo de experiência;
• Perda de desempenho;
Linguagem 3 (JPA e hibernate)

Mais conteúdo relacionado

Semelhante a Linguagem 3 (JPA e hibernate)

Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 
Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!João Longo
 
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e CeleryTDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celerytdc-globalcode
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXjesuinoPower
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIYitzhak Stone
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Javaarmeniocardoso
 
Criando aplicacoes-web-java-netberans
Criando aplicacoes-web-java-netberansCriando aplicacoes-web-java-netberans
Criando aplicacoes-web-java-netberansMony Pinheiro
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Claudiney Marques
 
Java EE 6 e JBoss 6.0
Java EE 6 e JBoss 6.0Java EE 6 e JBoss 6.0
Java EE 6 e JBoss 6.0Edgar Silva
 
[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...
[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...
[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...Loiane Groner
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeAdriano Tavares
 
Aplicações java com net beans
Aplicações java com net beansAplicações java com net beans
Aplicações java com net beansLucas Cruz
 

Semelhante a Linguagem 3 (JPA e hibernate) (20)

Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
Hibernate
HibernateHibernate
Hibernate
 
Java pode ser_hipster
Java pode ser_hipsterJava pode ser_hipster
Java pode ser_hipster
 
Java virtual machine quantas linguas fala a jvm2
Java virtual machine   quantas linguas fala a jvm2Java virtual machine   quantas linguas fala a jvm2
Java virtual machine quantas linguas fala a jvm2
 
Java ee 5
Java ee 5Java ee 5
Java ee 5
 
Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!Netbeans 6.7: a única IDE que você precisa!
Netbeans 6.7: a única IDE que você precisa!
 
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e CeleryTDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
TDC2018SP | Trilha Python - Tarefas distribuidas com Python e Celery
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMI
 
Guia para o Profissional Java
Guia para o Profissional JavaGuia para o Profissional Java
Guia para o Profissional Java
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
Java web
Java webJava web
Java web
 
Criando aplicacoes-web-java-netberans
Criando aplicacoes-web-java-netberansCriando aplicacoes-web-java-netberans
Criando aplicacoes-web-java-netberans
 
Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2Aplicações ricas com JavaFX 2
Aplicações ricas com JavaFX 2
 
Java EE 6 e JBoss 6.0
Java EE 6 e JBoss 6.0Java EE 6 e JBoss 6.0
Java EE 6 e JBoss 6.0
 
[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...
[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...
[Curso Java Básico] Aula 08: Instalando uma IDE (Eclipse e Netbeans) no Windo...
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
Aplicações java com net beans
Aplicações java com net beansAplicações java com net beans
Aplicações java com net beans
 
Aula 1 1
Aula 1 1Aula 1 1
Aula 1 1
 

Linguagem 3 (JPA e hibernate)

  • 1. JPA e Hibernete Desenvolvedores: Elielson Ferreira Pinheiro Josias Cardoso Lisboa Luiz Eduardo Mota Michael André Costa Serviço Publico Federal Ministério da Educação Instituto Federal de Educação, Ciência e Tecnologia do Pará Campus Abaetetuba Curso Técnico Integrado em Informática
  • 2. Agenda • O que é JPA; • Implementações da JPA; • Onde usar a JPA; • Histórico da JPA; • Características do Hibernate; • Histórico do Hibernate; • Vantagens do Hibernate; • Desvantagens do Hibernate;
  • 4. O que é JPA (Java Persistence API) • Conjunto de especificações para definir um comportamento de persistência de dados. +
  • 5. Implementações do JPA • Hibernate • OpenJPA • EclipseLink • TopLink • Batoo Batoo
  • 6. Onde usar JPA? • Substituir o JDBC • Economizar tempo de desenvolvimento
  • 7. Histórico do JPA • EJB 3.0 • JPA 2.0 • JPA 2.1
  • 9. CARACTERISTICAS • O objetivo do Hibernate é diminuir a complexidade entre os programas Java, baseado no modelo orientado a objeto, que precisam trabalhar com um banco de dados do modelo relacional . Em especial, no desenvolvimento de consultas e atualizações dos dados. • Sua principal característica é a transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL). • Na versão 3.x o Hibernate implementa a especificação JPA (Java Persistence API) através do conceito de anotações (implementada a partir do JDK5), o que facilita ainda mais o mapeamento objeto-relacional, que pode agora ser feito diretamente na classe, substituindo o uso dos arquivos XML. • Gerenciamento de transações não é responsabilidade do Hibernate e sim de outros elementos na infraestrutura do programa.
  • 10. CARACTERISTICAS • Hibernate pode ser utilizado em aplicações Java standalone ou em aplicações Java EE, utilizando servlet ou sessões EJB beans. • Hibernate é um software livre de código aberto distribuído com a licença LGPL (GNU Lesser General Public License).
  • 11. HISTORICO • O framework Hibernate foi desenvolvido por uma equipe de programadores Java liderada por Gavin King e teve sua primeira versão divulgada em 2004. Segundo King, um dos objetivos ao criar o projeto era resolver seus problemas referentes à persistência causados pelo EJB 2.0, o qual considerava muito complexo. • “Eu queria resolver um problema interessante, um problema que me afetava pessoalmente. Eu estava frustrado com o trabalho com entity beansno estilo EJB 2 e as frágeis camadas de persistência escritas à mão. “ Gavin King, criador do Hibernate em entrevista. • Com um escopo muito vasto, o projeto tornou-se inviável de ser mantido apenas nos tempos livres, assim King aceitou entrar para o JBoss Group, passando a ser remunerado para continuar a desenvolver o projeto, o que lhe permitiu dedicação completa ao Hibernate.
  • 13. VANTAGENS • Open Source(licensa LGPL); • Transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL); • Livra o programador da conversão manual do resultset, sendo altamente portável; • Escrever (bem) menos código repetitivo, sem perder flexibilidade; • Acesso a recursos nativos/específicos dos bancos de dados; • Menos preocupação da arquitetura de persistência;
  • 14. DESVANTAGENS • Para executar consultas mais complexas, geralmente é necessário algum tempo de experiência; • Perda de desempenho;