JPA - Java Persistence API

Apresentações semelhantes


Apresentação em tema: "JPA - Java Persistence API"— Transcrição da apresentação:

1 JPA - Java Persistence API
O que é? Padrão de persistência e mapeamento objeto/relacional Java. Implementado por diversos frameworks de Persistência. Com o sucesso e constante crescimento da linguagem de programação Java, diversas ferramentas (frameworks) de persistências foram surgindo. Diante deste cenário, foi estabelecido em consenso entre os desenvolvedores destes frameworks, um padrão para persistência e mapeamento objeto/relacional, JPA (Java Persistence API). Em sua versão 2.0, adotado e incorporado a documentação Java 317.

2 JPA - Java Persistence API
Principais Características Anotações JPA-QL NamedQuerys POJOs Temos como principais características da especificação: - Utilização de anotações para denotar relacionamento. Linguagem própria, JPA Query Language. NamedQuerys Baseado em POJOS (Beans de Entidade).

3 JPA - Java Persistence API
Principais Provedores de Persistência Hibernate TopLink OpenJPA Eclipselink Dentre os diversos frameworks de Persistência JPA, podemos destacar: Hibernate, TopLink, OpenJPA e JDO. Destes, obtendo maior destaque na comunidade Java, o Hibernate.

4 JPA - Java Persistence API - Hibernate
-Framework pioneiro de persistência e mapeamento objeto/relacional. Hibernate 3 Passou a seguir especificação JPA. Arquitetura Interceptor/Callback. Uso de anotações Java 5. HQL Ferramenta gratuita e de código aberto, o Hibernate foi um dos pioneiros no que diz respeito a persistência e mapeamento objeto/relacional em Java. Em sua versão 3, passou a seguir a especificação JPA. Com a arquitetura Interceptor/Callback, pode-se alterar o comportamento antes ou após a realização de uma operação usando ... Para execução de querys, pode-se utilizar SQL puro ou sua linguagem própria, HQL. Com HQL, é possível se valer de facilidades e conceitos de OO, como herança, polimorfismo e encapsulamento.

5 JPA - Java Persistence API - Hibernate
Arquitetura Arquitetura do Hibernate quando utilizado em um servidor de aplicação JEE. Fonte:

6 JPA - Java Persistence API - Hibernate
Ciclo de Vida Explicação do Ciclo de Vida do Hibernate: Transiente (Transient)– o objeto ainda não foi persistido na base , ou seja, esse seu estado indica que o objeto só existem em memória. Persistente (Persistent)– o objeto foi salvo no BD em uso, e já poderá ser acessado de lá. Desatachado (Detached)- o objeto não é mais utilizado e será liberado para descarte pelo gerenciado de lixo (Garbage Collector) Fonte:

7 JPA - Java Persistence API - Hibernate
Principais Anotações @Entity @Table @Column @Transient @Id @OneToOne @OneToMany @ManyToOne @ManyToMany Aplicação de cada anotação.

8 JPA - Java Persistence API - Hibernate
Principais Anotações – Exemplo Explica aplicação das anotações

9 JPA - Java Persistence API - Hibernate
EntityManager Responsável pelo gerenciamento das entidades. Centralizador das operações (query e persistência). Persist, merge, update, remove. Responsável pelo gerenciamento das entidades. Seja execução de querys ou persistência dos dados.

10 JPA - Java Persistence API - Hibernate
HQL (Hibernate Query Language) Select a from Aluno a Select a from Aluno a where a.id = :id from Aluno a where a = getAluno(); Exemplo de Execução: Query query = getEntityManager().createQuery(“from Aluno a where a = :a”); query.setParameter(”a", entity.getAluno()); Aluno aluno =(Aluno) query.getSingleResult(); Variações em Select. Possibilidade de usar um objeto como condição de filtro.

11 JPA - Java Persistence API - Hibernate
NamedQuerys @NamedQuery(name="Aluno.findAll", query="Select a from Aluno a"); @NamedQueries({ @NamedQuery(name="Aluno.findAll", query="Select a from Aluno a"), @NamedQuery(name="Aluno.findById", query=”Select a from Aluno a where a.id=:id") )}; Exemplo de Execução: Query query = getEntityManager().createNamedQuery(“Aluno.findById”); query.setParameter(”id", entity.getAluno().getId()); Aluno aluno =(Aluno) query.getSingleResult();

12 JPA - Java Persistence API - Hibernate
Transações e Concorrência Tirar algo daqui:

13 JPA - Java Persistence API
Comparação entre os Provedores de Persistência Fonte da pesquisa: Devemos entender as conclusões chegadas após o realizamento desta experiência para enfase e comentarios sobre os provedores de persistencia JPA. Fonte:


Carregar ppt "JPA - Java Persistence API"
Anúncios Google