SlideShare uma empresa Scribd logo
JPA   Java Persistence API
Quem sou... ,[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:58
Problema x Solução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:58 ,[object Object],Programação O.O. X Banco de Dados Relacional Java Tabelas Relacionadas Objetos Mapeamento O/R Interface BDR Tabelas Interface BDR
Sobre ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:58
Aplicação com JPA Slide   / 20 28/11/2008 -  10:58 Aplicação Java JPA Provedor JPA  (Hibernate, TopLink,...) Driver JDBC SGBDR API JDBC
Como acessamos o banco Slide   / 20 28/11/2008 -  10:58 Mbean Facade Gerente DAO JPA ConectorLogos SAD SQL Mapper Mbean Facade Gerente JPA SIGA Praxis Injeção de dependência: JPA Injeção de dependência: JPA Transação Gerenciada JSP EJB 2.1 .java (Control) Executa Query BD SQL DisconnectedResultSet Logos BD BD
JPA – Java Persistence API ,[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:58
Mapeamento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:58
Exemplo – entidade ‘Carro’ Slide   / 20 28/11/2008 -  10:58
Exemplo – entidade “Item” Slide   / 20 28/11/2008 -  10:58
Persistence.xml ,[object Object],Slide   / 20 28/11/2008 -  10:58
Relacionamentos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:59 Entity: Carro Entity: Item
Configurações ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:59 Cuidado, seu objeto pode ficar gordo! Atenção, se a transação não estiver gerenciada, será necessário carregar os objetos “na mão”. Atenção!
Eager e Lazy Slide   / 20 28/11/2008 -  10:59 Lazy Eager Lista não carregada ‘ Get’ não foi solicitado Lista carregada ‘ Get’ não foi solicitado Fetch = FetchType.EAGER; Fetch = FetchType.Lazy;
Manipulando Entity’s sem EJB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:59
Manipulando Entity’s com EJB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Injetado pelo conteiner EJB. Slide   / 20
JPQL Java Persistence Query Language @ NamedQueries ({ @ NamedQuery ( name = &quot;Carro.getAll&quot;, query = &quot;select c from Carro c&quot; ), @ NamedQuery ( name = &quot;Carro.getCarro&quot;, query = &quot;select c from Carro c where c.id = :idCarro&quot; ) }) EntityManager  em  = getEntityManager(); Query  query  =  em .createNamedQuery(“ Carro .getCarro&quot;); query .setParameter(“idCarro&quot;, id); return  ( Carro )  query . getSingleResult() ; return   query . getResultList( ) ; Podemos usar também: Group By, Having, Order By, Between, IN, Like, IS NULL, IS EMPTY, AND, >, <, JOIN Slide   / 20 28/11/2008 -  10:59
Demonstração ... Slide   / 20
Futuro – JPA 2.0 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:59
Links ,[object Object],[object Object],[object Object],[object Object],Slide   / 20 28/11/2008 -  10:59
Fim Slide   / 21 28/11/2008 -  10:59 Obrigado!

Mais conteúdo relacionado

Mais procurados

Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino
 
Aprendizagem por reforço
Aprendizagem por reforçoAprendizagem por reforço
Aprendizagem por reforço
Luís Nunes
 
Métricas de Software
Métricas de SoftwareMétricas de Software
Métricas de Software
elliando dias
 

Mais procurados (20)

Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
 
Node.js e Express
Node.js e ExpressNode.js e Express
Node.js e Express
 
SO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: SoftwareSO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: Software
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
Introdução à Robótica
Introdução à RobóticaIntrodução à Robótica
Introdução à Robótica
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
Governança de TI.pptx
Governança de TI.pptxGovernança de TI.pptx
Governança de TI.pptx
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Arquitetura Evolutiva - A retomada do ágil 18 anos depois
Arquitetura Evolutiva - A retomada do ágil 18 anos depoisArquitetura Evolutiva - A retomada do ágil 18 anos depois
Arquitetura Evolutiva - A retomada do ágil 18 anos depois
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de Software
 
PaaS, SaaS, IaaS
PaaS, SaaS, IaaSPaaS, SaaS, IaaS
PaaS, SaaS, IaaS
 
Aprendizagem por reforço
Aprendizagem por reforçoAprendizagem por reforço
Aprendizagem por reforço
 
Métricas de Software
Métricas de SoftwareMétricas de Software
Métricas de Software
 

Destaque

Aop Aspect J 1.5.4 Capitulo 01
Aop Aspect J 1.5.4 Capitulo 01Aop Aspect J 1.5.4 Capitulo 01
Aop Aspect J 1.5.4 Capitulo 01
Diego Pacheco
 
Curso De Hibernate 3
Curso De Hibernate 3Curso De Hibernate 3
Curso De Hibernate 3
Joel Lobo
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By Step
Guo Albert
 

Destaque (10)

Aop Aspect J 1.5.4 Capitulo 01
Aop Aspect J 1.5.4 Capitulo 01Aop Aspect J 1.5.4 Capitulo 01
Aop Aspect J 1.5.4 Capitulo 01
 
Hibernate
HibernateHibernate
Hibernate
 
JPA com Hibernate
JPA com HibernateJPA com Hibernate
JPA com Hibernate
 
Mini curso hibernate com anotações
Mini curso hibernate com anotaçõesMini curso hibernate com anotações
Mini curso hibernate com anotações
 
Apache Cayenne: a Java ORM Alternative
Apache Cayenne: a Java ORM AlternativeApache Cayenne: a Java ORM Alternative
Apache Cayenne: a Java ORM Alternative
 
Curso De Hibernate 3
Curso De Hibernate 3Curso De Hibernate 3
Curso De Hibernate 3
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
 
Hibernate
Hibernate Hibernate
Hibernate
 
High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By Step
 

Semelhante a JPA - Java Persistence API

JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
Eduardo Bregaida
 

Semelhante a JPA - Java Persistence API (20)

Wicket 2008
Wicket 2008Wicket 2008
Wicket 2008
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Enterprise Java Beans
Enterprise Java BeansEnterprise Java Beans
Enterprise Java Beans
 
Cactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusCactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta Cactus
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer Faces
 
Javaone Brazil 2012: Integrando Ext JS 4 com Java EE
Javaone Brazil 2012: Integrando Ext JS 4 com Java EEJavaone Brazil 2012: Integrando Ext JS 4 com Java EE
Javaone Brazil 2012: Integrando Ext JS 4 com Java EE
 
Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc Quixadá
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
 
JSF & REST
JSF & RESTJSF & REST
JSF & REST
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-android
 
API Apontador
API ApontadorAPI Apontador
API Apontador
 
Ajax em java
Ajax em javaAjax em java
Ajax em java
 
Tutorial Dwr - Combos Dependentes
Tutorial Dwr - Combos DependentesTutorial Dwr - Combos Dependentes
Tutorial Dwr - Combos Dependentes
 
Apache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentesApache Wicket - Desenvolvimento WEB orientado a componentes
Apache Wicket - Desenvolvimento WEB orientado a componentes
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 

Mais de Rodrigo Cascarrolho

PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
Rodrigo Cascarrolho
 

Mais de Rodrigo Cascarrolho (9)

TI Colégio Lumière 2018
TI Colégio Lumière 2018TI Colégio Lumière 2018
TI Colégio Lumière 2018
 
Carreira em Tecnologia da Informação
Carreira em Tecnologia da InformaçãoCarreira em Tecnologia da Informação
Carreira em Tecnologia da Informação
 
Arquitetura Microsserviços - Semana facet 2015
Arquitetura Microsserviços - Semana facet 2015Arquitetura Microsserviços - Semana facet 2015
Arquitetura Microsserviços - Semana facet 2015
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5PhoneGap - Criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
 
Html5- Novidades, adoção e mobile.
Html5- Novidades, adoção e mobile.Html5- Novidades, adoção e mobile.
Html5- Novidades, adoção e mobile.
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
Equals, Hashcode, ToString, Comparable e Comparator
Equals, Hashcode, ToString, Comparable e ComparatorEquals, Hashcode, ToString, Comparable e Comparator
Equals, Hashcode, ToString, Comparable e Comparator
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 

JPA - Java Persistence API

  • 1. JPA Java Persistence API
  • 2.
  • 3.
  • 4.
  • 5. Aplicação com JPA Slide / 20 28/11/2008 - 10:58 Aplicação Java JPA Provedor JPA (Hibernate, TopLink,...) Driver JDBC SGBDR API JDBC
  • 6. Como acessamos o banco Slide / 20 28/11/2008 - 10:58 Mbean Facade Gerente DAO JPA ConectorLogos SAD SQL Mapper Mbean Facade Gerente JPA SIGA Praxis Injeção de dependência: JPA Injeção de dependência: JPA Transação Gerenciada JSP EJB 2.1 .java (Control) Executa Query BD SQL DisconnectedResultSet Logos BD BD
  • 7.
  • 8.
  • 9. Exemplo – entidade ‘Carro’ Slide / 20 28/11/2008 - 10:58
  • 10. Exemplo – entidade “Item” Slide / 20 28/11/2008 - 10:58
  • 11.
  • 12.
  • 13.
  • 14. Eager e Lazy Slide / 20 28/11/2008 - 10:59 Lazy Eager Lista não carregada ‘ Get’ não foi solicitado Lista carregada ‘ Get’ não foi solicitado Fetch = FetchType.EAGER; Fetch = FetchType.Lazy;
  • 15.
  • 16.
  • 17. JPQL Java Persistence Query Language @ NamedQueries ({ @ NamedQuery ( name = &quot;Carro.getAll&quot;, query = &quot;select c from Carro c&quot; ), @ NamedQuery ( name = &quot;Carro.getCarro&quot;, query = &quot;select c from Carro c where c.id = :idCarro&quot; ) }) EntityManager em = getEntityManager(); Query query = em .createNamedQuery(“ Carro .getCarro&quot;); query .setParameter(“idCarro&quot;, id); return ( Carro ) query . getSingleResult() ; return query . getResultList( ) ; Podemos usar também: Group By, Having, Order By, Between, IN, Like, IS NULL, IS EMPTY, AND, >, <, JOIN Slide / 20 28/11/2008 - 10:59
  • 19.
  • 20.
  • 21. Fim Slide / 21 28/11/2008 - 10:59 Obrigado!