Persistência de Dados
ORM
Historicamente a realização de transações de banco de dados em um contexto de uma linguagem baseada no paradigma da orientação a objetos, não é uma tarefa muito fácil.
Diante desta necessidade de apresentar uma alternativa que proporcionasse tal equilíbrio ou suavidade, surgiu o aspecto do ORM Object-relational mapping ou Mapeamento objeto-relacional.
Em poucas palavras, ORM é a capacidade de mapear uma classe a uma tabela em um projeto orientado a objetos que passará a ser considerada como entidade
ou entity
.
Especificação
Diante desta motivação de disponibilizar alternativas que adequaria os fundamentos do ORM na linguagem Java, em maio de 2006, o JCP ou Java Community Process apresentou uma especificação conhecida como JPA, mas foi em Dezembro de 2009 que esta abordagem obteve força total e aceitação no cenário de projetos que precisavam conviver com o paradigma da orientação integrados aos mais diversos bancos de dados relacionais do mercado.
Mapeamento:O termo mapeamento refere-se ao recurso de relacionar uma classe e seus respectivos atributos a uma tabela com suas respectivas colunas em um banco de dados relacional. Este recurso pode ser conhecido como annotation ou decorator representando pelo prefixo
@
.Aspectos
As anotações possuem aspectos ou finalidades específicas de acordo com o contexto de cada entidade em sua aplicação que são:
- Identificação
- Definição
- Relacionamento
- Herança
- Persistência
Fornecedores
Como mencionado anteriormente, o JPA é uma especificação que possui a proposta de acoplar os fundamentos apresentados pelo ORM para ser utilizado pela linguagem Java. Com acesso a esta especificação, a comunidade e algumas instituições privadas dedicaram-se e ainda se dispõe a disponibilizar alternativas conhecidos como frameworks de persistência. Abaixo temos uma imagem ilustrando os mais utilizados.
Sabemos que o Hibernate é hoje a implementação predominante na comunidade principalmente em projetos que utilizam o ecossistema Spring Boot.
Hora da verdade
O mecanismo de gerenciamento de persistência com base no ORM na linguagem Java evoluiu bastante nestes últimos anos e nada melhor do que poder conhecer mais um pouco desta evolução. Abaixo temos dois vídeos que aborda cada etapa histórica da evolução do JPA até os dias de hoje.
Persistência de dados com Java (part1)
Persistência de dados com Java (part2)