JPA INTRODUÇÃO
-
Upload
etec-mam -
Category
Technology
-
view
175 -
download
5
Transcript of JPA INTRODUÇÃO
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
Classe Aluno anotada como entidade
Tudo que tiver atributos e relacionamentos e vá ser persistido em um banco de
dados relacional.
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.
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