Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Introdução
Atualmente, a maioria das aplicações utiliza uma linguagem orientada a objetos na
construção do software, e um banco de dados relacional para a persistência dos dados.
Um grande problema enfrentado pelos desenvolvedores que trabalham com linguagem
orientada a objetos é o mapeamento desses objetos em banco de dados relacionais.
Dessa forma, desenvolvedores necessitam criar mecanismos para converter dados
em objetos e vice-versa, o que acaba desvirtuando-o do seu foco principal e da grande
expectativa do cliente, que é o software final.
Para juntar os dois modelos em uma aplicação é necessário entendê-los e conhecer
suas diferenças. E, principalmente, é fundamental entender o processo de mapear objetos
para o modelo relacional e como implementar esse mapeamento.
2. Framework Hibernate
O Hibernate é a solução ORM Java que consiste em uma ferramenta para realizar o ma-
peamento objeto-relacional de forma completa. A tecnologia segue a especificação JPA
(Java Persistence API), que trata de entidades, mapeamentos, interfaces para gerenciar a
persistência e linguagem de consulta (LUCKOW e MELO, 2010).
O Hibernate funciona como um intermediário entre a interação do aplicativo com
o banco de dados relacional, assim o desenvolvedor poderá se concentrar no problema do
negócio a ser trabalhado. A solução também não exige a obediência às regras especı́ficas
do Hibernate e se integra facilmente aos aplicativos novos e existentes, não requerendo
mudanças bruscas no restante da aplicação. (BAUER e KING, 2005).
A arquitetura do Hibernate é baseada em interfaces de programação. Conforme
Bauer e Kink (2005), tais interfaces podem ser classificadas como:
• Interfaces chamadas por aplicativos para executar operações CRUD básicas e de
consulta. Essas interfaces são o ponto principal da lógica de negócios de aplicati-
vos do Hibernate, são elas: Session, Transaction e Query;
• Interfaces chamadas pelo código de infraestrutura do aplicativo para configurar o
Hibernate, que incluem principalmente a interface Configuration;
• Interfaces call-back, que permitem a reação do aplicativo aos eventos que vierem
a ocorrer dentro do Hibernate;
• Interfaces que permitem estender as funcionalidades de mapeamento do Hiber-
nate, como UserType, CompositeUserType e IdentifierGenerator.
A Figura 1 apresenta o esquema de alto nı́vel da arquitetura do Hibernate. O
diagrama mostra a relação do mesmo com a aplicação e o banco de dados, bem como sua
configuração e propriedades necessárias para a persistência dos dados.
Figura 1. Visão geral de alto nı́vel da arquitetura do Hibernate.
Contudo, para que o Hibernate possa funcionar precisamos configurar o JPA para
que o mesmo possa fazer o mapeamento das classes e entidades do projeto, para isso
precisamos criar um arquivo chamado persistence.xml dentro da pasta chamada “META-
INF”, com isso o Spring conseguirá se comunicar com o banco de dados para persistir os
dados. A figura 6 mostra a configuração do arquivo persistence.xml.
Por último precisamos mapear a classe Funcionario com a anotação @Entity, desta
forma o framework entenderá que todos os atributos desta classe serão mapeados e per-
sistidos no banco de dados quando os mesmos forem instanciados na classe principal da
aplicação.
Figura 7. Mapeamento da Classe.
3. Conclusão
As linguagens de programação tendem a evoluir de forma muito mais rápida que os Ban-
cos de Dados.Essa evolução provoca incompatibilidades entre os paradigmas relacionais
e orientado a objetos. O Hibernate foi construı́do para contornar e gerenciar essa incom-
patibilidade. Conforme observado, passamos a nos concentrar em nossa aplicação com o
gerenciamento de objetos e não mais com o de registros.
A persistência de dados proporcionada pelo Hibernate nos permite concluir que
os desenvolvedores Java podem contar com mais uma funcionalidade que fará com que
aplicativos possam ser criados de forma mais rápida, mantendo sua qualidade, reduzindo
assim o custo de aplicações, e possibilitando que essa linguagem possa adquirir cada vez
mais espaço no mercado.
4. Referencias Bibliográficas
Persistência de dados com a tecnologia ORM Hibernate
https://www.devmedia.com.br/persistencia-de-dados-com-a-tecnologia-orm-
hibernate/32840
Hibernate na Web
https://www.devmedia.com.br/hibernate-na-web/8781
Tutorial definitivo: Tudo o que você precisa para começar bem com JPA
https://blog.algaworks.com/tutorial-jpa/
Documentaç ão de Referência Hibernate. Maio de 2011
https://docs.jboss.org/hibernate/core/3.6/reference/pt-BR/html_single
Bauer, Christian, King, Gavin
Hibernate em ação. Rio de Janeiro: Ciência Moderna, 2005.