10 de Abril de 2007

O Modelo Unificado para os Frameworks de Persistência em Java - JPA

Arquivado sob: Java EE, Arquitetura, Tecnologias Java, Java SE — marco @ 23:13

Os frameworks de persistência em Java SE e Java EE surgiram há quase 7 anos, com o surgimento do modelo de Entity Beans. Embora este modelo tenha sido bastante evoluído da sua versão inicial (1.0) até a sua versão 2.1, este modelo sempre foi alvo de muitas críticas. Neste meio tempo, outros frameworks surgiram e dominaram o mercado. Exemplos destes frameworks incluem o:

O Hibernate, em particular, adquiriu grande popularidade e hoje (2007) é o framework de persistência mais popular na comunidade Java no Brasil. Um problema do Hibernate, no entanto, é que este não é um especificação Java, i.e., uma JSR no JCP. O uso de padrões JSR é um excelente prática na escrita de aplicações Java, pois garante independência de fornecedores.

Uma nova especificação, lançada no Java EE 5.0, promete unificar todas estas implementações e criar realmente um padrão para persistência objeto relacional em Java. O JPA (JSR 220) é parte da especificação EJB 3.0, mas pode também ser utilizado em aplicações Java padrão (Java SE).

A arquitetura do JPA, em alto nível, é mostrada na figura abaixo:

Arquitetura JPA

Uma aplicação Java qualquer (SE ou EE) que use o JPA não fica mais amarrada a soluções de fornecedores (mesmo que de código aberto), como o Hibernate ou o TopLink. Ao invés, o código usa apenas uma especificação Java padrão JCP.

Para usar o JPA, é necessário escolher um provider JPA (implementação da pilha JPA). Isso pode ser feito com bastante facilidade, através da edição de um arquivo XML.

O modelo de persistência do JPA foi baseado fortemente no Hibernate e é baseado na anotação de classes Java tradicionais (POJO). Um exemplo simples é colocado abaixo:


@Entity
public class Pessoa {
@Id
public Long id;
public String primeiroNome;
public String nomeDoMeio;
public String ultimoNome;
}

A configuração de um projeto JPA é simples. Em anexo a este artigo, disponibilizamos dois arquivos:

Informações complementares sobre o JPA podem ser achadas aqui:

3 Comentários »

  1. Ótimo artigo, completo e auto explicativo do início ao fim. Parabéns!

    Comentário de Marcelo Lotif — 16 de Maio de 2007 @ 08:43

  2. Muito bom o post =)

    Sei que é antigo, porem válido!!!!!!

    Comentário de Alexandre Ferreira — 22 de Setembro de 2007 @ 19:51

  3. […] Os elementos que impulsionam a adoção do JEE5 são centrados em maior facilidade. Há a grande simplificação do EJB 3.0 (JSR 220) e suas práticas anotações em POJOs, em relação à burocracia do EJB2; a nova API de Persistência Java (JPA) (veja [1], [2], [3], [4]) — que também tira muito proveito das anotações e simplifica a persistência dos Entity Beans de EJB3 –; o refinamento e integração entre JSF 1.2 (JSR 252) e JSP 2.1 (JSR 245) com a Linguagem de Expressão Unificada (veja [5], [6], [7], [8], [9], [10]). […]

    Pingback de Blog do Márcio d’Ávila » Boas blogadas - novidades e atualidades Java EE 5/6 — 4 de Janeiro de 2008 @ 23:47

RSS de comentários deste artigo. URI para link desta publicação:

Deixe um comentário

You must be conectado to post a comment.

Blog do Marco Mendes | Artigos, Comentários e Opiniões sobre Engenharia de Software, Arquitetura de Software, SOA e Java