SlideShare une entreprise Scribd logo
1  sur  21
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!

Contenu connexe

Tendances

Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondKaushal Dhruw
 
Ksug2015 - JPA3, JPA 내부구조
Ksug2015 - JPA3, JPA 내부구조Ksug2015 - JPA3, JPA 내부구조
Ksug2015 - JPA3, JPA 내부구조Younghan Kim
 
iFunEngine: 30분 만에 게임 서버 만들기
iFunEngine: 30분 만에 게임 서버 만들기iFunEngine: 30분 만에 게임 서버 만들기
iFunEngine: 30분 만에 게임 서버 만들기iFunFactory Inc.
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasRodrigo Branas
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeterGalih Lasahido
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Edlaine Zamora
 
Curso Java Basico] Aula 19: Vetores (Arrays)
Curso Java Basico] Aula 19:  Vetores (Arrays)Curso Java Basico] Aula 19:  Vetores (Arrays)
Curso Java Basico] Aula 19: Vetores (Arrays)Loiane Groner
 
Jetpack Compose beginner.pdf
Jetpack Compose beginner.pdfJetpack Compose beginner.pdf
Jetpack Compose beginner.pdfAayushmaAgrawal
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine LearningSandro Moreira
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentationBojan Golubović
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)Helder da Rocha
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_jsMicroPyramid .
 
Dynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsDynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsBroadleaf Commerce
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.jsEmanuele DelBono
 

Tendances (20)

Exploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & BeyondExploring the power of Gradle in android studio - Basics & Beyond
Exploring the power of Gradle in android studio - Basics & Beyond
 
Specflow - Criando uma ponte entre desenvolvedores.
Specflow - Criando uma ponte entre desenvolvedores.Specflow - Criando uma ponte entre desenvolvedores.
Specflow - Criando uma ponte entre desenvolvedores.
 
Implicit object.pptx
Implicit object.pptxImplicit object.pptx
Implicit object.pptx
 
Ksug2015 - JPA3, JPA 내부구조
Ksug2015 - JPA3, JPA 내부구조Ksug2015 - JPA3, JPA 내부구조
Ksug2015 - JPA3, JPA 내부구조
 
iFunEngine: 30분 만에 게임 서버 만들기
iFunEngine: 30분 만에 게임 서버 만들기iFunEngine: 30분 만에 게임 서버 만들기
iFunEngine: 30분 만에 게임 서버 만들기
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Workshop 21: React Router
Workshop 21: React RouterWorkshop 21: React Router
Workshop 21: React Router
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeter
 
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
Teste de performance com JMeter: como criar e executar os testes em aplicaçõe...
 
React js
React jsReact js
React js
 
Testes de Integração
Testes de IntegraçãoTestes de Integração
Testes de Integração
 
Curso Java Basico] Aula 19: Vetores (Arrays)
Curso Java Basico] Aula 19:  Vetores (Arrays)Curso Java Basico] Aula 19:  Vetores (Arrays)
Curso Java Basico] Aula 19: Vetores (Arrays)
 
Jetpack Compose beginner.pdf
Jetpack Compose beginner.pdfJetpack Compose beginner.pdf
Jetpack Compose beginner.pdf
 
Introdução a Machine Learning
Introdução a Machine LearningIntrodução a Machine Learning
Introdução a Machine Learning
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentation
 
Life Cycle hooks in VueJs
Life Cycle hooks in VueJsLife Cycle hooks in VueJs
Life Cycle hooks in VueJs
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)
 
Introduction to react_js
Introduction to react_jsIntroduction to react_js
Introduction to react_js
 
Dynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsDynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java Annotations
 
An introduction to React.js
An introduction to React.jsAn introduction to React.js
An introduction to React.js
 

En vedette

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 01Diego Pacheco
 
Mini curso hibernate com anotações
Mini curso hibernate com anotaçõesMini curso hibernate com anotações
Mini curso hibernate com anotaçõesdieguinhomcz
 
Apache Cayenne: a Java ORM Alternative
Apache Cayenne: a Java ORM AlternativeApache Cayenne: a Java ORM Alternative
Apache Cayenne: a Java ORM AlternativeAndrus Adamchik
 
Curso De Hibernate 3
Curso De Hibernate 3Curso De Hibernate 3
Curso De Hibernate 3Joel Lobo
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com HibernateDanilo Braga
 
Hibernate
Hibernate Hibernate
Hibernate Sunil OS
 
High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016High Performance Hibernate JavaZone 2016
High Performance Hibernate JavaZone 2016Vlad Mihalcea
 
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 StepGuo Albert
 

En vedette (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
 

Similaire à JPA - Java Persistence API

Enterprise Java Beans
Enterprise Java BeansEnterprise Java Beans
Enterprise Java BeansRubem Azenha
 
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 CactusDenis L Presciliano
 
Produtividade com JavaServer Faces
Produtividade com JavaServer FacesProdutividade com JavaServer Faces
Produtividade com JavaServer FacesEduardo Bregaida
 
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 EELoiane Groner
 
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áZarathon Maia
 
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.javaEduardo Bregaida
 
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 ApplicationMario Sergio
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersHarlley Oliveira
 
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 jQueryHarlley Oliveira
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-androidAlberto Souza
 
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 componentesCI&T
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoEduardo Bregaida
 
JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no FrontendHenrique Gogó
 

Similaire à 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
 
JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no Frontend
 

Plus de Rodrigo Cascarrolho

Carreira em Tecnologia da Informação
Carreira em Tecnologia da InformaçãoCarreira em Tecnologia da Informação
Carreira em Tecnologia da InformaçãoRodrigo Cascarrolho
 
Arquitetura Microsserviços - Semana facet 2015
Arquitetura Microsserviços - Semana facet 2015Arquitetura Microsserviços - Semana facet 2015
Arquitetura Microsserviços - Semana facet 2015Rodrigo 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 HTML5Rodrigo Cascarrolho
 
Html5- Novidades, adoção e mobile.
Html5- Novidades, adoção e mobile.Html5- Novidades, adoção e mobile.
Html5- Novidades, adoção e mobile.Rodrigo Cascarrolho
 
Equals, Hashcode, ToString, Comparable e Comparator
Equals, Hashcode, ToString, Comparable e ComparatorEquals, Hashcode, ToString, Comparable e Comparator
Equals, Hashcode, ToString, Comparable e ComparatorRodrigo Cascarrolho
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 

Plus 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!