SlideShare uma empresa Scribd logo
Minicurso JPA e HibernateFrederico Maia Arantes
Quem sou eu?Frederico Maia Arantes – @fredmaiaProgramador Java EE – PC SistemasInstrutor de cursos Java – Supera TecnologiaOracle Certified Professional, Java SE 6 Programmer (OCJP)Um dos coordenadores do GojavaArtigo publicado na Easy Java Magazinehttp://devsexperts.com
PersistênciaO que é persistência?
PersistênciaO que é persistência?
PersistênciaO que é persistência?Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.
PersistênciaO que é persistência?Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.Na maioria dos casos são utilizados banco de dados relacionais.
PersistênciaO que é persistência?Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.Na maioria dos casos são utilizados banco de dados relacionais.Em contra partida a maioria das aplicações são desenvolvidas no modelo orientado a objetos.
Persistência
Persistência
Relacional x Orientado a ObjetosDois paradigmas diferentes
Relacional x Orientado a ObjetosDois paradigmas diferentesComo resolver as diferenças?
Relacional x Orientado a ObjetosDois paradigmas diferentesComo resolver as diferenças?Como mapear as tabelas do banco de dados para os objetos em Java?
Relacional x Orientado a ObjetosDois paradigmas diferentesComo resolver as diferenças?Como mapear as tabelas do banco de dados para os objetos em Java?Ou devemos mapear os objetos para tabelas?
Relacional x Orientado a Objetos
JDBCJDBC (Java Database Connectivity) especificação padrão de persistência
JDBCJDBC (Java Database Connectivity) especificação padrão de persistênciaQue tal juntar os dois mundos?
JDBCJDBC (Java Database Connectivity) especificação padrão de persistênciaQue tal juntar os dois mundos?Misturar o modelo relacional com o modelo orientado a objetos, misturar o código Java com SQL
JDBCJDBC (Java Database Connectivity) especificação padrão de persistênciaQue tal juntar os dois mundos?Misturar o modelo relacional com o modelo orientado a objetos, misturar o código Java com SQLOk, show me the code!
JDBC – Conectando no BD
JDBC – Inserindo uma Pessoa
JDBC – Buscando uma Pessoa
JDBC ??
JDBCMapeamento nada não muito intuitivoE se eu precisar mudar meu banco de dados?Tenho que aprender SQL e Java?Para cada banco, o SQL pode variarTenho que aprender o SQL de cada banco?
Tenho mesmo que usar JDBC ??Você precisar ser um herói !!
Tenho mesmo que usar JDBC ??Você precisar ser um herói !!
HibernateO que é hibernate?
Hibernate
Hibernate    É um estado letárgico pelo qual muitos animais endotérmicos passam durante o inverno, principalmente em regiões temperadas e árticas.
HibernateNOT!    É um estado letárgico pelo qual muitos animais endotérmicos passam durante o inverno, principalmente em regiões temperadas e árticas.
HibernateFramework para Mapeamento Objeto Relacional (ORM)Permite que desenvolvamos naturalmente usando o modelo orientados a objetosPersistência transparenteSimplifica o desenvolvimentoIndependente de banco de dados
Hibernate...Mantido pela empresa JBossNão faz parte da especificação padrão do JavaE se a JBoss cancelar o projeto? E se o Hibernate parar de evoluir? (você tem essa preocupação?)Se é tão bom, porque não colocá-lo nas tais especificações Java??
JPA (Java Persistence API)Nova especificação para persistênciaJá estamos na versão 2.0 da JPABaseada nos principais frameworks de mercadoÉ uma especificação portanto precisa de frameworks que a implementem como  Hibernate, EclipseLink e TopLinkOk, show me thecode!
JPA – Arquivo de Configuração
JPA – Conectando no BD
JPA – Inserindo uma Pessoa
JPA – Buscando uma Pessoa
JPA é complicado né?
JPA é complicado né?Ué, num achei não.
JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.
JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.@Entity: aparece antes do nome das classes que terão objetos persistidos no  BD
JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.@Entity: aparece antes do nome das classes que terão objetos persistidos no  BD@Id: indica a chave primária
JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.@Entity: aparece antes do nome das classes que terão objetos persistidos no  BD@Id: indica a chave primária@GeneratedValue: indica que o valor da chave primária deve ser gerado pelo BD quando um registro é inserido
Classe Java Comum
Classe Java para JPA
JPAQue saco esse monte de teoria...
JPA - CodificandoPersistindo (persist)Buscando (find e getReference)Removendo (remove)AtualizandoListando (query, resultList)
JPA - CodificandoTransações (begin, commit)Restrições (length, nullable, unique)Data (@Temporal: Date, Time, Timestamp)Atributos não persistentes (@Transiente)
JPA - CodificandoEntityManagerFactory é caroJPAUtil  retornando conexões (static)Criando um DAO Genérico
Perguntas?
Contatofredericomaia10@gmail.com@SuperaTI   /   @fredmaiahttp://www.supera.com.brhttp://devsexperts.com

Mais conteúdo relacionado

PPTX
Boas práticas com jpa 2 e hibernate flisol 2012
PPT
Introdução a JPA e Hibernate - TDC 2012
PDF
Persistência Java: Hibernate e JPA
PDF
JPA com Hibernate
PDF
Persistência com JPA usando o NetBeans 7
PPT
Jpa – Java Persistence Api
PPT
JPA - Java Persistence API
ODP
Polis Hyperlink Dicas e truques de Performance para JPA e EJB
Boas práticas com jpa 2 e hibernate flisol 2012
Introdução a JPA e Hibernate - TDC 2012
Persistência Java: Hibernate e JPA
JPA com Hibernate
Persistência com JPA usando o NetBeans 7
Jpa – Java Persistence Api
JPA - Java Persistence API
Polis Hyperlink Dicas e truques de Performance para JPA e EJB

Mais procurados (14)

POT
Mini curso hibernate com anotações
PDF
Hibernate conceitos
ODP
Processos iniciais do mapeamento OR
ODP
Anotações do mapeamento OR
PDF
Introdução ao JPA com Hibernate
ODP
Hibernate-consultas
PPTX
Jpa, hibernate and jpql
PDF
Abstração do banco de dados com PHP Doctrine
PPT
Desenvolvimento Agil Com Doctrine Orm
PPTX
Mapeamento Objeto-Relacional com Java Persistence API
PDF
Tag Libraries e JSTL
PPT
Java20141219
PDF
Doctrine 2 camada de persistência para php
PDF
Apostila hibernate
Mini curso hibernate com anotações
Hibernate conceitos
Processos iniciais do mapeamento OR
Anotações do mapeamento OR
Introdução ao JPA com Hibernate
Hibernate-consultas
Jpa, hibernate and jpql
Abstração do banco de dados com PHP Doctrine
Desenvolvimento Agil Com Doctrine Orm
Mapeamento Objeto-Relacional com Java Persistence API
Tag Libraries e JSTL
Java20141219
Doctrine 2 camada de persistência para php
Apostila hibernate
Anúncio

Destaque (11)

PDF
INTERFACES para o USUÁRIO - a base de um sistema de gerenciamento para restau...
PDF
Apresentação mapeamento objeto relacional
PPT
PDF
2 1-jpa-mapeamento-simples
PDF
Hibernate
PDF
Workshop modelando usuários, tarefas e idéias
PPT
Aula JPA
PPTX
Sistema de gestão de restaurantes self service - ultima versão 3
PDF
Introdução ao JPA com Hibernate
PPS
Restaurante
PDF
Apostila Java Web com JSF, JPA e Primefaces
INTERFACES para o USUÁRIO - a base de um sistema de gerenciamento para restau...
Apresentação mapeamento objeto relacional
2 1-jpa-mapeamento-simples
Hibernate
Workshop modelando usuários, tarefas e idéias
Aula JPA
Sistema de gestão de restaurantes self service - ultima versão 3
Introdução ao JPA com Hibernate
Restaurante
Apostila Java Web com JSF, JPA e Primefaces
Anúncio

Semelhante a Minicurso jpa e hibernate (20)

PPT
Hibernate - Aula 01
PDF
Bancos de dados e jdbc java para desenvolvimento web
PDF
Compweek
PPTX
palestra_migrando_jdbcpalestra_migrando_jdbc((1).pptx
PDF
PPT
Curso De Hibernate 3
PPTX
MongoDB - Performance e Escalabilidade para aplicações web
PPT
Hibernate
PDF
1 jdbc
PDF
1 jdbc
PDF
Jpa de a à z por que conhecer jpa
PPT
Bancos de Dados Orientados a Objeto
PDF
Spring: Overview do framework mais popular para desenvolvimento em Java
POT
Mini curso hibernate com anotações
PDF
Palestra Ruby on Rails SETA 2008/01
PPTX
Hibernate
PDF
Java para web na pratica
PPTX
O Spring está morto! Viva o Spring!
PPT
Modelagem de sistemas
Hibernate - Aula 01
Bancos de dados e jdbc java para desenvolvimento web
Compweek
palestra_migrando_jdbcpalestra_migrando_jdbc((1).pptx
Curso De Hibernate 3
MongoDB - Performance e Escalabilidade para aplicações web
Hibernate
1 jdbc
1 jdbc
Jpa de a à z por que conhecer jpa
Bancos de Dados Orientados a Objeto
Spring: Overview do framework mais popular para desenvolvimento em Java
Mini curso hibernate com anotações
Palestra Ruby on Rails SETA 2008/01
Hibernate
Java para web na pratica
O Spring está morto! Viva o Spring!
Modelagem de sistemas

Mais de Frederico Maia Arantes (12)

PPTX
The best way to create and deploy web apps with full-stack type safety - Mete...
PPTX
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...
PDF
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
PDF
Apresentando meteor! Join Community - Goiânia
PDF
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
PDF
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
PDF
Java Web Fácil com VRaptor
PDF
Java no Google App Engine - TDC2011
PDF
Cloud Computing - Java no Google App Engine
PDF
Visão Geral do Java para Iniciantes - FLISOL 2011
PPTX
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
PPTX
Java e orientação a objetos
The best way to create and deploy web apps with full-stack type safety - Mete...
Produtividade e deploy na criação de apps NodeJS com MeteorJS - Join Communit...
Java 8 - Afinal onde usamos no dia a dia? GOJava 15 anos!
Apresentando meteor! Join Community - Goiânia
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
Meteor - Nunca foi tão fácil desenvolver pra web e mobile
Java Web Fácil com VRaptor
Java no Google App Engine - TDC2011
Cloud Computing - Java no Google App Engine
Visão Geral do Java para Iniciantes - FLISOL 2011
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
Java e orientação a objetos

Minicurso jpa e hibernate

  • 1. Minicurso JPA e HibernateFrederico Maia Arantes
  • 2. Quem sou eu?Frederico Maia Arantes – @fredmaiaProgramador Java EE – PC SistemasInstrutor de cursos Java – Supera TecnologiaOracle Certified Professional, Java SE 6 Programmer (OCJP)Um dos coordenadores do GojavaArtigo publicado na Easy Java Magazinehttp://devsexperts.com
  • 3. PersistênciaO que é persistência?
  • 4. PersistênciaO que é persistência?
  • 5. PersistênciaO que é persistência?Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.
  • 6. PersistênciaO que é persistência?Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.Na maioria dos casos são utilizados banco de dados relacionais.
  • 7. PersistênciaO que é persistência?Aplicações precisam armazenar seus dados em algum lugar. Queremos processar dados e podermos acessá-los posteriormente.Na maioria dos casos são utilizados banco de dados relacionais.Em contra partida a maioria das aplicações são desenvolvidas no modelo orientado a objetos.
  • 10. Relacional x Orientado a ObjetosDois paradigmas diferentes
  • 11. Relacional x Orientado a ObjetosDois paradigmas diferentesComo resolver as diferenças?
  • 12. Relacional x Orientado a ObjetosDois paradigmas diferentesComo resolver as diferenças?Como mapear as tabelas do banco de dados para os objetos em Java?
  • 13. Relacional x Orientado a ObjetosDois paradigmas diferentesComo resolver as diferenças?Como mapear as tabelas do banco de dados para os objetos em Java?Ou devemos mapear os objetos para tabelas?
  • 15. JDBCJDBC (Java Database Connectivity) especificação padrão de persistência
  • 16. JDBCJDBC (Java Database Connectivity) especificação padrão de persistênciaQue tal juntar os dois mundos?
  • 17. JDBCJDBC (Java Database Connectivity) especificação padrão de persistênciaQue tal juntar os dois mundos?Misturar o modelo relacional com o modelo orientado a objetos, misturar o código Java com SQL
  • 18. JDBCJDBC (Java Database Connectivity) especificação padrão de persistênciaQue tal juntar os dois mundos?Misturar o modelo relacional com o modelo orientado a objetos, misturar o código Java com SQLOk, show me the code!
  • 20. JDBC – Inserindo uma Pessoa
  • 21. JDBC – Buscando uma Pessoa
  • 23. JDBCMapeamento nada não muito intuitivoE se eu precisar mudar meu banco de dados?Tenho que aprender SQL e Java?Para cada banco, o SQL pode variarTenho que aprender o SQL de cada banco?
  • 24. Tenho mesmo que usar JDBC ??Você precisar ser um herói !!
  • 25. Tenho mesmo que usar JDBC ??Você precisar ser um herói !!
  • 26. HibernateO que é hibernate?
  • 28. Hibernate É um estado letárgico pelo qual muitos animais endotérmicos passam durante o inverno, principalmente em regiões temperadas e árticas.
  • 29. HibernateNOT! É um estado letárgico pelo qual muitos animais endotérmicos passam durante o inverno, principalmente em regiões temperadas e árticas.
  • 30. HibernateFramework para Mapeamento Objeto Relacional (ORM)Permite que desenvolvamos naturalmente usando o modelo orientados a objetosPersistência transparenteSimplifica o desenvolvimentoIndependente de banco de dados
  • 31. Hibernate...Mantido pela empresa JBossNão faz parte da especificação padrão do JavaE se a JBoss cancelar o projeto? E se o Hibernate parar de evoluir? (você tem essa preocupação?)Se é tão bom, porque não colocá-lo nas tais especificações Java??
  • 32. JPA (Java Persistence API)Nova especificação para persistênciaJá estamos na versão 2.0 da JPABaseada nos principais frameworks de mercadoÉ uma especificação portanto precisa de frameworks que a implementem como Hibernate, EclipseLink e TopLinkOk, show me thecode!
  • 33. JPA – Arquivo de Configuração
  • 35. JPA – Inserindo uma Pessoa
  • 36. JPA – Buscando uma Pessoa
  • 38. JPA é complicado né?Ué, num achei não.
  • 39. JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.
  • 40. JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.@Entity: aparece antes do nome das classes que terão objetos persistidos no BD
  • 41. JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.@Entity: aparece antes do nome das classes que terão objetos persistidos no BD@Id: indica a chave primária
  • 42. JPA - MapeamentoMapear o modelo orientado a objetos e o modelo entidade relacionamento.@Entity: aparece antes do nome das classes que terão objetos persistidos no BD@Id: indica a chave primária@GeneratedValue: indica que o valor da chave primária deve ser gerado pelo BD quando um registro é inserido
  • 45. JPAQue saco esse monte de teoria...
  • 46. JPA - CodificandoPersistindo (persist)Buscando (find e getReference)Removendo (remove)AtualizandoListando (query, resultList)
  • 47. JPA - CodificandoTransações (begin, commit)Restrições (length, nullable, unique)Data (@Temporal: Date, Time, Timestamp)Atributos não persistentes (@Transiente)
  • 48. JPA - CodificandoEntityManagerFactory é caroJPAUtil retornando conexões (static)Criando um DAO Genérico
  • 50. Contatofredericomaia10@gmail.com@SuperaTI / @fredmaiahttp://www.supera.com.brhttp://devsexperts.com