Olá desenvolvedores, neste artigo falaremos sobre o JPA – Java Persistence API e o Hibernate. No tutorial, “ORM: POR QUE USAR EM SEUS PROJETOS?” falamos sobre os benefícios de se utilizar um framework baseado em ORM – Object Relational Mapper (Mapeamento Objeto-Relacional). Assim, nesse sentido utilizando o JPA, o programador se concentra na lógica de negócio, e em consequência aumenta a sua produtividade entregando mais qualidade ao projeto final.

Agora vamos falar um pouco mais sobre o JPA e o Hibernate, bem como sobre os benefícios que resulta da união de ambos, da API e do framework respectivamente.

JPA

O JPA é uma especificação do Java que descreve uma interface comum para frameworks voltados para a persistência de dados, como o Hibernate. Uma especificação pode ser entendida como um conjunto de regras que determina como um software deve se comportar. Ou ainda como um framework deverá ser implementado de modo que os desenvolvedores possam usufruir da melhor forma uma infraestrutura já pronta.

HIBERNATE

O Hibernate é um framework de mapeamento de objeto relacional, ORM – Object-relational mapping. Ele tem o caráter de facilitar a implementação das operações do banco de dados. Assim, imprime agilidade no trabalho do programador possibilitando que ele se concentre nas regras de negócio.

E não apenas otimiza o tempo de desenvolvimento, mas por se tratar de uma infraestrutura já pronta e amplamente testada, erros comuns e recorrentes se tornam cada vez mais raros.

A linguagem que o Hibernate usa é chamada de HQL – Hibernate Query Language, por meio dela podemos inserir, armazenar e recuperar objetos Java utilizando o ORM. O HQL é basicamente um conjunto de interfaces para consultas usando critérios que permitem consultas mais avançadas.

JPA E HIBERNATE

E claro, poderíamos utilizar apenas o ORM JPA em nossos projetos. Mas, dependendo da complexidade e dos recursos que se deseja utilizar, JPA e Hibernate juntos são muito mais poderosos e lhe permitirá alçar voos mais altos.

A título de exemplo, com o Hibernate podemos gerar tabelas em um banco de dados qualquer a partir de suas classes modelo. E então inserir e carregar os objetos para esta base de dados utilizando os recursos do JPA. E desse mesmo modo buscar estes mesmos objetos para consulta, por exemplo.

Antes de sair configurando o JPA e o Hibernate você precisa ter em mente alguns critérios. O primeiro critério é entender que tudo acontece a partir do EntityManager que é a implementação do JPA que encapsula o Hibernate Core.

O Entity Manager é uma API configurada para ler e escrever em uma base de dados, assim todas as operações são encapsuladas em interfaces EntityManager. E ainda, o Hibernate Core é a base para o funcionamento da persistência, com APIs nativas e metadados de mapeamentos em arquivos XML ou por classes Java.

EM POUCAS PALAVRAS

Para que possamos configurá-los precisaremos ou baixar o pacote .jar desses frameworks ou configurá-los usando o Maven. Agora que você já está por dentro de todos os critérios e conceitos que importa saber neste momento. Desse modo é chegado o momento de colocar a mão na massa. Nos vemos nos próximos tutoriais.