Olá desenvolvedores, neste tutorial falaremos mais sobre o conceito de persistência de dados no contexto de Hibernate e JPA – Java Persistence API. Muito se ouve falar sobre persistência de dados, mas o que é essa tal persistência de dados? Grosso modo, persistência é o mesmo que armazenamento, assim, persistência de dados compreende o armazenamento de dados.
Em outras palavras dizemos que dados persistidos são dados que sobreviveram ao estado que os criou. E nesse sentido, estão disponíveis, gravados em algum lugar físico, servidor de banco de dados, por exemplo, para consultas posteriores.
Imagine uma aplicação que não é capaz de persistir os dados após o encerramento da sessão. Isto é, uma aplicação que não fosse capaz de gravar os dados e mantê-los seguros? Bom, uma aplicação com esta característica não poderia assim ser chamada, não seria um sistema. E, portanto, seria inútil se a natureza de sua utilização pressupõe o armazenamento contínuo e persistente dos dados informados.
PERSISTÊNCIA DE DADOS EM JAVA
Quando se fala de persistência de dados em Java, o Hibernate e o JPA são os principais nomes de frameworks para este fim.
O Hibernate é um framework ORM – Object Relational Mapping (Mapeamento objeto-relacional) que faz o mapeamento de classes Java para tabelas de banco de dados e de tipos de dados Java para tipos de dados SQL – Structured Query Language (Linguagem de Consulta Estruturada ou SQL). Ele é também uma implementação da especificação JPA.
Neste contexto o JPA é uma API – Application Programming Interface (interface de Programação de Aplicações) padrão da linguagem Java que descreve uma interface comum para frameworks de persistência de dados. A JPA define um meio de mapeamento objeto-relacional para objetos Java simples e comuns.
Para entender melhor você precisa ter em mente que Java é uma linguagem Orientada a Objetos, mas que trabalha com banco de dados relacional para persistir os dados. Vale recordar que os princípios que regem a Orientação a Objetos é o da Engenharia de Software, ao passo que os princípios sobre os quais modelos relacionais são sustentados são princípios matemáticos, algébricos-relacinais.
É neste cenário que visa unir os dois modelos que o mapeamento de objeto-relacional, o ORM se insere, onde o conhecimento acerca de como mapear objetos para o modelo relacional é de fundamental importância. No entanto, o mapeamento Objeto-Relacional pode se converter em uma tarefa árdua para o programador.
E não raro, esta tarefa árdua de prover a comunicação entre um modelo relacional e um modelo orientado a objetos, é complexa e consome um enorme tempo de desenvolvimento.
O Hibernate surgiu então como uma opção para simplificar este trabalho. E por ser simples e prático ele se transformou no padrão para persistência de dados em Java.
EM POUCAS PALAVRAS
Neste artigo você compreendeu que persistência de dados é o armazenamento de dados em um dispositivo físico, como por exemplo, um HD ou servidor de banco de dados de forma que estes dados, que sobreviveram ao estado que os criou possam ser acessados posteriormente.