SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
PCII 
ETEC MONSENHOR ANTONIO 
MAGLIANO 
2014 
Prof. Aloisio
Java Persistence API (JPA) 
Java Persistence API (JPA) é um framework leve, baseado em POJOs, para 
persistência em Java e Mapeamento Objeto-Relacional (ORM) que surgiu na 
plataforma Java EE 5. 
Os POJOs (Plain Old Java Objects) são objetos que seguem um desenho 
simplificado.
CAMADAS 
Em aplicativos de grande e médio porte é interessante organizá-los em 
camadas. Normalmente estas camadas dividem-se em: camada de 
apresentação, camada de negócios e de persistência.
Persistência de Dados 
Entre as alternativas para persistência de dados em sistemas orientados a 
objetos, pode-se citar os bancos orientados a objetos, que deveriam ser a 
alternativa mais lógica, visto que se comungam o mesmo modelo. 
Por que não ? 
●Tecnologia ainda desenvolvimento 
●Incompatibilidade com os sistemas legados das empresas, 
Assim, na maioria das vezes a escolha recai sobre bancos de dados relacionais 
que são uma tecnologia madura e confiável.
Modelo O.O. Versus Modelo Relacional 
No entanto, as diferenças entre o modelo orientado a objetos e o modelo 
relacional, geram um problema conhecido como incompatibilidade de 
impedância e é foi para resolver este problema que surgiu o Mapeamento 
Objeto-Relacional (ORM). 
O desafio de mapear de um para o outro não está em suas semelhanças, mas 
nos conceitos onde não há equivalente lógico para o outro. O problema não 
está na complexidade de um mapeamento único, mas na existência de 
múltiplas possibilidades, visto que há diversas maneiras de se mapear no 
modelo relacional.
Mapeamento ORM 
O JPA cuida de forma automatizada e transparente dos problemas de acesso 
ao banco, evitando que seja necessária a utilização, ou mesmo o conhecimento 
de comandos SQL como insert, update e select pelo desenvolvedor, o que 
proporciona alta produtividade e baixo acoplamento com o modelo de dados.
Mapeamento ORM 
O Mapeamento Objeto-Relacional com JPA é totalmente orientado por 
metadados. Isso pode ser feito quer pela inclusão de anotações para o código 
ou usando XML definido externamente.
ANOTAÇÕES 
É uma maneira simples e elegante de passar instruções que auxiliam no 
mapeamento e persistência de uma entidade e são embutidas nos bytecodes e 
lidas em tempo de execução. No caso do JPA são lidas na inicialização do 
sistema. 
Anotação Descrição 
@Entity Define o POJO, indicando o conceito a ser persistido. 
@Transient Informa que o atributo não será persistido. 
@Column Usado quando o atributo não possui o mesmo nome que o campo da 
tabela. 
@Id Quanto o atributo será o identificador do objeto. 
@Table Permite definir o nome da tabela diferente do nome da classe 
@OneToOne Define o relacionamento um-para-um 
@ManyToOne Define o relacionamento muitos-para-um 
@OneToMany Define o relacionamento um-para-muitos 
@ManyToMany Define o relacionamento muitos-para-muitos 
@Inheritance Permite utilizar herança.
ENTIDADE 
Tudo que tiver atributos e relacionamentos e vá ser persistido em um banco de 
dados relacional. 
Classe Aluno anotada como entidade
PROVEDOR DE PERSISTÊNCIA 
Provedor de Persistência (Persistence Provider). É a implementação das 
interfaces definidas pela JPA, que é apenas uma especificação, como 
exemplos pode-se citar: 
●Oracle TopLink 
●Hibernate 
●Apache OpenJPA, 
●EclipseLink 
●Etc.
Linguagem JPQL 
Recuperar dados através de consultas é tão importante quanto o 
armazenamento de dados. Para isto o JPA possui a JPQL (Java Persistence 
Query Language), uma linguagem de consulta ORM que opera sobre classes e 
objetos, diferente do SQL que opera sobre tabelas.
EXEMPLOS JPA
Crie um projeto chamado ConexaoJPA 
No projeto crie uma pacote: 
br.com.etecmam.conexaojpa
Configure o Conector MySql e o JPA 
1 - Adicione o driver mysql 
(Veja como fazer em aulas anteriores) 
2- Converta seu projeto para JPA: 
2.1 Configure – Convert to JPA Project
Configure o Conector MySql e o JPA
Configure o Conector MySql e o JPA
Crie uma classe chamada Produto 
Crie campos conforme figura
Adicione as anotações JPA ao Produto
Configure o arquivo Persistence.xml
Crie uma classe chamada CriaBanco
Log da Criação do Banco de Tabelas
Crie uma classe chamada PesquisarProduto
Em PesquisarProduto, teste outra maneira de Pesquisar
Crie um Classe chamada AtualizarProduto
Crie um Classe chamada DeletarProduto

Más contenido relacionado

La actualidad más candente

Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Apresentação Java Web - Jsf+Hibernate
Apresentação Java Web - Jsf+HibernateApresentação Java Web - Jsf+Hibernate
Apresentação Java Web - Jsf+HibernateZarathon Maia
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDr. Spock
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoMaria Alice Jovinski
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componenteselliando dias
 
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
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - AdapterJuliana Cindra
 

La actualidad más candente (13)

Diagramas de pacotes
Diagramas de pacotesDiagramas de pacotes
Diagramas de pacotes
 
Dao
DaoDao
Dao
 
Diagramas de componentes
Diagramas de componentesDiagramas de componentes
Diagramas de componentes
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Diagramas de distribuicao
Diagramas de distribuicaoDiagramas de distribuicao
Diagramas de distribuicao
 
Apresentação Java Web - Jsf+Hibernate
Apresentação Java Web - Jsf+HibernateApresentação Java Web - Jsf+Hibernate
Apresentação Java Web - Jsf+Hibernate
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Dicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSFDicas e truques sobre performance em JavaEE, JPA e JSF
Dicas e truques sobre performance em JavaEE, JPA e JSF
 
Aula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniaoAula diagramas de implementacao 3º periodo uniao
Aula diagramas de implementacao 3º periodo uniao
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
diagrama de componentes
diagrama de componentesdiagrama de componentes
diagrama de componentes
 
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
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - Adapter
 

Similar a JPA INTRODUÇÃO

Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com HibernateDanilo Braga
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228MoisesInacio
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento ORNécio de Lima Veras
 
Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7David Willian
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Marcelo Zeferino
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - TreinamentoCaio Lima
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMFábio Rehm
 
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...Fernando Godóy
 
Persistência de Objetos em Java
Persistência de Objetos em JavaPersistência de Objetos em Java
Persistência de Objetos em Javaarmeniocardoso
 

Similar a JPA INTRODUÇÃO (20)

Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
 
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
Algaworks ebook-java-ee-7-com-jsf-primefaces-e-cdi-2a-edicao-20150228
 
Data accesss conect
Data accesss conectData accesss conect
Data accesss conect
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
Jpa, hibernate and jpql
Jpa, hibernate and jpqlJpa, hibernate and jpql
Jpa, hibernate and jpql
 
Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Palestra Sobre REST
Palestra Sobre RESTPalestra Sobre REST
Palestra Sobre REST
 
Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1Apresentação curso de Extensão em Java (UERJ-IME) v1
Apresentação curso de Extensão em Java (UERJ-IME) v1
 
Java para web na pratica
Java para web na praticaJava para web na pratica
Java para web na pratica
 
Jsp+Jdbc+Servlets
Jsp+Jdbc+ServletsJsp+Jdbc+Servlets
Jsp+Jdbc+Servlets
 
teste86940.78038637294
teste86940.78038637294teste86940.78038637294
teste86940.78038637294
 
ODI Series - Treinamento
ODI Series - TreinamentoODI Series - Treinamento
ODI Series - Treinamento
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORM
 
Banco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetosBanco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetos
 
Apresentação mapeamento objeto relacional
Apresentação mapeamento objeto relacionalApresentação mapeamento objeto relacional
Apresentação mapeamento objeto relacional
 
JAVA REFLETCION
JAVA REFLETCIONJAVA REFLETCION
JAVA REFLETCION
 
Spring Data Neo4j
Spring Data Neo4jSpring Data Neo4j
Spring Data Neo4j
 
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
Aumento de Produtividade no Desenvolvimento de Aplicações em Java com Spring ...
 
Persistência de Objetos em Java
Persistência de Objetos em JavaPersistência de Objetos em Java
Persistência de Objetos em Java
 

Más de ETEC Monsenhor Antonio Magliano

Android - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de ContatosAndroid - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de ContatosETEC Monsenhor Antonio Magliano
 
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQLAPLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQLETEC Monsenhor Antonio Magliano
 
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)ETEC Monsenhor Antonio Magliano
 
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)ETEC Monsenhor Antonio Magliano
 
Visual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de NotasVisual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de NotasETEC Monsenhor Antonio Magliano
 

Más de ETEC Monsenhor Antonio Magliano (20)

Cadastro Desktop (Swing) com JPA MySQL
Cadastro Desktop (Swing) com JPA MySQLCadastro Desktop (Swing) com JPA MySQL
Cadastro Desktop (Swing) com JPA MySQL
 
Android - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de ContatosAndroid - Criando um Adapter personalizado para uma Agenda de Contatos
Android - Criando um Adapter personalizado para uma Agenda de Contatos
 
Android - Intents implícitas e explícitas
Android - Intents implícitas e explícitasAndroid - Intents implícitas e explícitas
Android - Intents implícitas e explícitas
 
Android - Criando uma ListView
Android - Criando  uma ListViewAndroid - Criando  uma ListView
Android - Criando uma ListView
 
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQLAPLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
 
CONEXÃO BANCO DE DADOS MYSQL COM JAVA
CONEXÃO BANCO DE DADOS MYSQL  COM JAVACONEXÃO BANCO DE DADOS MYSQL  COM JAVA
CONEXÃO BANCO DE DADOS MYSQL COM JAVA
 
Sockets : Introdução
Sockets : IntroduçãoSockets : Introdução
Sockets : Introdução
 
THREADS EM JAVA: INTRODUÇÃO
THREADS EM JAVA: INTRODUÇÃOTHREADS EM JAVA: INTRODUÇÃO
THREADS EM JAVA: INTRODUÇÃO
 
PCII: SERIALIZAÇÃO: EXEMPLOS
PCII: SERIALIZAÇÃO: EXEMPLOSPCII: SERIALIZAÇÃO: EXEMPLOS
PCII: SERIALIZAÇÃO: EXEMPLOS
 
PCII: SERIALIZAÇÃO EM JAVA: INTRODUÇÃO
PCII: SERIALIZAÇÃO EM JAVA: INTRODUÇÃOPCII: SERIALIZAÇÃO EM JAVA: INTRODUÇÃO
PCII: SERIALIZAÇÃO EM JAVA: INTRODUÇÃO
 
PCII - INTERFACES EM JAVA: EXEMPLOS
PCII - INTERFACES EM JAVA: EXEMPLOSPCII - INTERFACES EM JAVA: EXEMPLOS
PCII - INTERFACES EM JAVA: EXEMPLOS
 
PCII AULA 3 - INTERFACES EM JAVA
PCII AULA 3 - INTERFACES EM JAVAPCII AULA 3 - INTERFACES EM JAVA
PCII AULA 3 - INTERFACES EM JAVA
 
PCII - AULA 2: HERANÇA EM JAVA
PCII -  AULA 2: HERANÇA EM JAVAPCII -  AULA 2: HERANÇA EM JAVA
PCII - AULA 2: HERANÇA EM JAVA
 
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
Visual Basic 2010 - Uma Aplicação com Banco de Dados (Controle de Despesas)
 
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
Visual Basic 2010 - Gerando um Projeto de Instalação (Visual Studio Installer)
 
Visual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de NotasVisual Basic 2010 - Criando uma aplicação de Controle de Notas
Visual Basic 2010 - Criando uma aplicação de Controle de Notas
 
GSOIII Aula 8 - ANDROID - CRIANDO UMA CALCULADORA
GSOIII Aula 8 - ANDROID - CRIANDO UMA CALCULADORAGSOIII Aula 8 - ANDROID - CRIANDO UMA CALCULADORA
GSOIII Aula 8 - ANDROID - CRIANDO UMA CALCULADORA
 
GSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROIDGSOIII - INTRODUÇÃO AO ANDROID
GSOIII - INTRODUÇÃO AO ANDROID
 
GSOIII (JAVA) CONEXÃO SIMPLES COM BANCO
GSOIII (JAVA) CONEXÃO SIMPLES COM BANCOGSOIII (JAVA) CONEXÃO SIMPLES COM BANCO
GSOIII (JAVA) CONEXÃO SIMPLES COM BANCO
 
GSOIII (JAVA) CONEXÃO MYSQL
GSOIII (JAVA)  CONEXÃO MYSQLGSOIII (JAVA)  CONEXÃO MYSQL
GSOIII (JAVA) CONEXÃO MYSQL
 

JPA INTRODUÇÃO

  • 1. PCII ETEC MONSENHOR ANTONIO MAGLIANO 2014 Prof. Aloisio
  • 2. Java Persistence API (JPA) Java Persistence API (JPA) é um framework leve, baseado em POJOs, para persistência em Java e Mapeamento Objeto-Relacional (ORM) que surgiu na plataforma Java EE 5. Os POJOs (Plain Old Java Objects) são objetos que seguem um desenho simplificado.
  • 3. CAMADAS Em aplicativos de grande e médio porte é interessante organizá-los em camadas. Normalmente estas camadas dividem-se em: camada de apresentação, camada de negócios e de persistência.
  • 4. Persistência de Dados Entre as alternativas para persistência de dados em sistemas orientados a objetos, pode-se citar os bancos orientados a objetos, que deveriam ser a alternativa mais lógica, visto que se comungam o mesmo modelo. Por que não ? ●Tecnologia ainda desenvolvimento ●Incompatibilidade com os sistemas legados das empresas, Assim, na maioria das vezes a escolha recai sobre bancos de dados relacionais que são uma tecnologia madura e confiável.
  • 5. Modelo O.O. Versus Modelo Relacional No entanto, as diferenças entre o modelo orientado a objetos e o modelo relacional, geram um problema conhecido como incompatibilidade de impedância e é foi para resolver este problema que surgiu o Mapeamento Objeto-Relacional (ORM). O desafio de mapear de um para o outro não está em suas semelhanças, mas nos conceitos onde não há equivalente lógico para o outro. O problema não está na complexidade de um mapeamento único, mas na existência de múltiplas possibilidades, visto que há diversas maneiras de se mapear no modelo relacional.
  • 6. Mapeamento ORM O JPA cuida de forma automatizada e transparente dos problemas de acesso ao banco, evitando que seja necessária a utilização, ou mesmo o conhecimento de comandos SQL como insert, update e select pelo desenvolvedor, o que proporciona alta produtividade e baixo acoplamento com o modelo de dados.
  • 7. Mapeamento ORM O Mapeamento Objeto-Relacional com JPA é totalmente orientado por metadados. Isso pode ser feito quer pela inclusão de anotações para o código ou usando XML definido externamente.
  • 8. ANOTAÇÕES É uma maneira simples e elegante de passar instruções que auxiliam no mapeamento e persistência de uma entidade e são embutidas nos bytecodes e lidas em tempo de execução. No caso do JPA são lidas na inicialização do sistema. Anotação Descrição @Entity Define o POJO, indicando o conceito a ser persistido. @Transient Informa que o atributo não será persistido. @Column Usado quando o atributo não possui o mesmo nome que o campo da tabela. @Id Quanto o atributo será o identificador do objeto. @Table Permite definir o nome da tabela diferente do nome da classe @OneToOne Define o relacionamento um-para-um @ManyToOne Define o relacionamento muitos-para-um @OneToMany Define o relacionamento um-para-muitos @ManyToMany Define o relacionamento muitos-para-muitos @Inheritance Permite utilizar herança.
  • 9. ENTIDADE Tudo que tiver atributos e relacionamentos e vá ser persistido em um banco de dados relacional. Classe Aluno anotada como entidade
  • 10. PROVEDOR DE PERSISTÊNCIA Provedor de Persistência (Persistence Provider). É a implementação das interfaces definidas pela JPA, que é apenas uma especificação, como exemplos pode-se citar: ●Oracle TopLink ●Hibernate ●Apache OpenJPA, ●EclipseLink ●Etc.
  • 11. Linguagem JPQL Recuperar dados através de consultas é tão importante quanto o armazenamento de dados. Para isto o JPA possui a JPQL (Java Persistence Query Language), uma linguagem de consulta ORM que opera sobre classes e objetos, diferente do SQL que opera sobre tabelas.
  • 13. Crie um projeto chamado ConexaoJPA No projeto crie uma pacote: br.com.etecmam.conexaojpa
  • 14. Configure o Conector MySql e o JPA 1 - Adicione o driver mysql (Veja como fazer em aulas anteriores) 2- Converta seu projeto para JPA: 2.1 Configure – Convert to JPA Project
  • 15. Configure o Conector MySql e o JPA
  • 16. Configure o Conector MySql e o JPA
  • 17. Crie uma classe chamada Produto Crie campos conforme figura
  • 18. Adicione as anotações JPA ao Produto
  • 19. Configure o arquivo Persistence.xml
  • 20. Crie uma classe chamada CriaBanco
  • 21. Log da Criação do Banco de Tabelas
  • 22. Crie uma classe chamada PesquisarProduto
  • 23. Em PesquisarProduto, teste outra maneira de Pesquisar
  • 24. Crie um Classe chamada AtualizarProduto
  • 25. Crie um Classe chamada DeletarProduto