Tecnologia

Persistindo dados em Java com JPA – Primeiros passos

Por: , janeiro 8, 2014

Artigo publicado na Easy Java Magazine 36 – Persistindo dados em Java com JPA

Este artigo apresenta a JPA, ou Java Persistence API. Assim, o leitor aprenderá a implementar o mapeamento da estrutura do banco de dados nas classes que representam o domínio de uma aplicação, trazendo facilidade no desenvolvimento.

A necessidade de persistir e recuperar dados estão presentes em grande parte das aplicações, e para as aplicações escritas em Java não é diferente. Por isto, é de grande importância para todos os desenvolvedores saber como implementar ao menos uma forma de interação com o banco de dados.

O mecanismo de acesso a banco de dados mais baixo nível em Java é o JDBC (Java Database Connectivity), onde as instruções SQL devem ser formuladas por sua aplicação e transmitidas ao banco de dados.

Apesar de bastante poderoso, o JDBC se mostra bastante trabalhoso ao escrevermos grandes aplicações. Essa dificuldade é inerente ao fato de estarmos integrando dois paradigmas diferentes. Por um lado temos um paradigma focado em tabelas e instruções SQL nos bancos de dados, e por outro lado temos um paradigma orientado a objetos no Java. Buscando aproximar esses dois paradigmas, existe uma técnica conhecida como ORM (Object-Relational Mapping ou Mapeamento Objeto-Relacional), onde as tabelas do banco de dados são representadas através de classes e os registros de cada tabela são representados como instâncias das classes correspondentes.

Outra grande dificuldade que temos de enfrentar é que, apesar da padronização do SQL, cada banco tem suas peculiaridades, com instruções próprias e tipos de colunas diferentes, o que pode tornar bastante trabalhoso migrar de um banco para outro, dado que sua aplicação já está específica para um determinado banco.

Visando diminuir essa dificuldade de transição entre os bancos de dados, temos a JPA. Ela é uma API baseada no conceito de ORM e funciona como uma camada de abstração entre a aplicação e o banco de dados, possibilitando uma maior independência entre os mesmos.

Para obtermos os benefícios da JPA, podemos utilizá-la em nossa aplicação de duas formas: standalone ou em um ambiente Java EE. Denominamos standalone quando não necessitamos do gerenciamento de um container, como um servidor de aplicação.

Este artigo tem como objetivo auxiliar nos primeiros passos com a JPA sem necessidade de conhecimento prévio da plataforma Java EE e, por conta disso, nosso foco será na utilização standalone, mas com um tópico dedicado às diferenças entre essas duas formas de utilização.

Com a mesma premissa de não exigir conhecimento prévio do leitor, vamos utilizar um banco de dados em nossos exemplos que é extremamente simples de configurar, o HSQLDB. No decorrer do artigo, sua configuração e utilização serão detalhadas.

Em nossos exemplos, vamos utilizar a classe Pessoa como objeto de estudo. Primeiramente, veremos como mapear nossas entidades, que são as classes que representam a estrutura do nosso banco de dados. Depois, veremos como persistir nossas entidades no banco e, por fim, como resgatá-las.

Os conceitos apresentados nesse artigo não se restringem a uma determinada IDE, mas com o intuito de facilitar o entendimento, nas seções de configuração iremos utilizar o Eclipse, cujo link para download pode ser encontrado na seção Links.

Além da JPA, iremos utilizar o framework Hibernate, que é uma implementação da JPA. A relação entre Hibernate e JPA merece atenção especial e será o tema do nosso primeiro tópico.

Leia mais em: Persistindo dados em Java com JPA

  • Receba nosso conteúdo em primeira mão.