mapeamento objeto relacional com hibernate em

Propaganda
MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM
APLICAÇÕES JAVA WEB
Miguel Gustavo Miiller¹, Tiago Piperno Bonetti1.
1
Universidade Paranaense (UNIPAR)
Paranavaí -Paraná- Brasil
[email protected], [email protected]
Resumo: O presente artigo tem por finalidade demonstrar o conceito utilizado pelo
framework Hibernate no desenvolvimento de um software para gerenciamento agrícola,
apontando a arquitetura aplicada pelo Hibernate, suas principais funcionalidades,
vantagens e desvantagens.
1. Introdução
O Hibernate é um framework utilizado para realizar o Mapeamento Objeto-Relacional
(ORM), segundo a definição do grupo TOGAF (The Open Group Architecture
Framenwork) um framework é “uma estrutura para conteúdo e processo que pode ser
usada como uma ferramenta para estruturar o pensamento e garantir consistência e
completude”.
Com o avanço na demanda de desenvolvimento de aplicações computacionais para
ambiente web, o mapeamento objeto relacional utilizando o Hibernate revelou-se, com a
intenção de facilitar a implementação do projeto, pois o desenvolvedor não necessita se
preocupar com a criação, manipulação e alteração de tabelas presentes no banco de dados,
pois essa ferramenta auxilia nesse mapeamento, fazendo assim com que se poupe mais
tempo e trabalho no desenvolver do projeto [Soares, 2013].
Este trabalho tem por objetivo demonstrar o funcionamento do framework Hibernate
em uma aplicação web para gerenciamento agrícola, suas principais funcionalidades,
vantagens e desvantagens.
2. Metodologia
Para a realização do presente trabalho, foi realizada uma revisão bibliográfica com livros,
artigos e sites na internet, pesquisando a fundo o assunto referente ao tema deste artigo
para mostrar claramente ao leitor uma visão geral de como funciona o Hibernate em uma
aplicação JAVA WEB.
3. Framework Hibernate
Segundo Bauer e King [2005] o Hibernate nada mais é do que um framework para
persistência de objetos Java em banco de dados, tornando o mapeamento para o banco de
dados orientado a objetos.
Na prática, ele é um conjunto de arquivos de configuração pré-acabados, um conjunto
de classes e interfaces que permite a criação de camadas de serviços, capazes de abstrair as
funcionalidades do banco de dados e disponibilizando-as para aplicações computacionais
JAVA [Mrack, 2006].
“Usando o Hibernate, não há a necessidade de escrever muito do código de
acesso a banco de dados e de SQL, pois ele utiliza a sua própria HQL
(Hibernate Query Language), acelerando a velocidade do seu
desenvolvimento de uma forma fantástica. Vale lembrar que, apesar do fato
do Hibernate utilizar uma linguagem própria para realizar a persistência dos
dados, podemos mudar a qualquer momento o SGDB utilizado”. [Fragoso,
2008].
A figura 01 descreve a arquitetura do framework Hibernate, demonstrando suas
técnicas de mapeamento.
Figura 1: Como funciona o Hibernate [Mistron, 2009]
O Hibernate não é a única ferramenta capaz de soluções para mapeamento objeto
relacional, embora seja ela a mais utilizada. Seja qual framework escolhido para realizar
esse procedimento, todas tendem a seguir a especificação JPA (Java Persistence API),
responsável por padronizar o modelo de programação EJB. O Hibernate por sua vez
abstém de três softwares para atender a essa especificação [Luckow; Melo, 2010]. Sendo
elas:


Hibernate Core: É a base para os conjuntos de persistência que é oferecido
pelo Hibernate, contendo um API (Application Progaming Interface) e
metadados contidos em arquivos XML (Extensible Markup Language).
Também conhecido por Hibernate 03, possui a linguagem HQL como
linguagem própria, possuindo interfaces para a realização de consultas no
banco de dados [Luckow; Melo, 2010].
Hibernate Annotations: Uma maneira de mapear objetos no banco de
dados, utilizando tags especiais do tipo JavaDoc, tendo como principal

vantagens a redução de linhas de códigos para a realização desse processo
[Luckow; Melo, 2010].
Hibernate EntityManager: Atende os conceitos de programação de
funcionalidade de consultas e interfaces, fazendo que a mesma leia o
metadado ORM de uma classe entidade e realize a persistência [Luckow;
Melo, 2010].
4. Mapeamento Objeto-Relacional com Hibernate
A essência do conceito de mapeamento objeto relacional refere-se à forma automatizada e
transparente de persistir objetos pertencentes a uma aplicação nas respectivas tabelas de
um banco de dados relacional [Luckow; Melo, 2010].
Este tipo de framework permite ao desenvolvedor manter o foco na manipulação de
objetos, e nos problemas referentes à regra de negócio, possibilitando assim que a
aplicação atenda a todas as necessidades do cliente, acarretando em uma maior qualidade
do software [Bauer; King, 2007].
A proposta de criação do ORM (Mapeamento Objeto Relacional), deu-se a necessidade
de suprir as carências do modelo de desenvolvimento relacional, oferecendo uma interface
orientada a objetos de forma transparente, para a modelagem ser feita ao paradigma que
melhor se adequar (Stonebraker, 1996 apud Filho, 2006).
5. Vantagens e Desvantagens
A seguir serão abordadas algumas vantagens e desvantagens, referente ao uso do
framework Hibernate no discorrer do desenvolvimento da aplicação.
Vantagens:



Velocidade no desenvolvimento, com o uso do Hibernate o desenvolvedor não
necessita escrever códigos SQL para a criação de tabelas no banco de dados,
pois o framework encapsula todo o SQL necessário deixando mais visível e de
fácil compreensão ao programador.
Diminui a implementação de códigos de persistência, proporcionando mais
facilidade e agilidade no desenvolvimento da aplicação, uma vez que a
implementação dos mesmos se tornam cansativos e desgastantes.
Facilita a interação da aplicação com o banco de dados, para que o
desenvolvedor não ocupe o tempo na criação e manutenção nas tabelas do
banco de dados.
Desvantagens:
 Na criação de Queries mais complexas, a parametrização precisa ter o
entendimento em todos os critérios.
6. Persistência no Banco de Dados
Para a conexão do Hibernate com o banco de dados ser efetuada, é necessária a criação de
uma Unidade de Persistência, nela está contido dados referente à conexão com o banco de
dados, tais como, provedor de persistência e fonte de dados a ser utilizado.
Na figura 3 é apresentada a configuração de uma Unidade de Persistência, na qual o
Hibernate se conecta ao banco de dados.
Figura 2: Exemplo de conexão do Hibernate com o banco de dados
7. SisAgro
O Sistema de Gerenciamento Agrícola tem como função principal gerenciar todo o fluxo
de cadastro e movimentos pertencente ao âmbito rural, gerando relatórios cadastrais e
gerenciais.
A aplicação computacional web visa aperfeiçoar e melhorar o gerenciamento das
atividades agrícolas, trazendo uma maior contribuição na produção de dados e
informações, que serão de grande auxílio na tomada de decisão da instituição.
8. Considerações Finais
Com o desenvolvimento deste artigo, foi possível concluir que o framework Hibernate é
um facilitador no desenvolvimento de aplicações web, e é possível perceber as vantagens
em relação ao mapeamento das tabelas no banco de dados, o qual facilita grandemente o
trabalho do desenvolvedor.
Com a grande competitividade no mercado de software atual, o desenvolvimento de
aplicações de qualidade em um curto espaço de tempo é essencial para obter sucesso nesse
ramo de trabalho. O Hibernate proporciona ao desenvolvedor um aumento no foco da
implementação da regra de negócio do cliente, possibilitando assim a produção de uma
aplicação computacional de qualidade.
Com a grande evolução do Hibernate nos últimos anos, a probabilidade de seus
recursos e funcionalidades evoluírem é consideravelmente grande, o que acarretaria em
uma melhora ainda maior no desenvolvimento de projetos de softwares, atendendo assim
cada vez mais as necessidades dos clientes.
Referências
Fragoso, R, R., (2008) O Que é Hibernate, Disponível em, <http://webcache.
googleusercontent.com/search?q=cache:OBJuAYy_faMJ:www.dicasl.com.br/arquivo/o_q
ue_e_hibernate.php+hybernate+HQL+fragoso+2008&cd=1&hl=ptBR&ct=clnk&gl=br&source=www.google.com.br#.VbrB1_lVikp>, Acesso em 20 de
Julho de 2015.
Luckow, D. H.; Melo, A. A. (2010) Programação Java para Web, Editora Novatec. São
Paulo, Brasil.
Frameworks de Arquitetura – Parte 1: Zachman, <http://blog.gnosisbr. com.br/ sobre
/serie-arquiteto-profissao-do-futuro/frameworks-dearquitetura-%E2%80%93-arte-1zachman/> Acessado em 10/06/2015
Mrack, M. (2006) Hibernate, Uma visão geral sobre o framework padrão de fato para
mapeamento objeto-relacional, <http://www.slideshare.net/mmrack/workshop hibernatecom-comentarios>, acessado em 26 de Julho de 2015.
Bauer, C.; King, G. (2007) Java Persistence com Hibernate 1° Edição, Editora Ciência
Moderna Ltda. Rio de Janeiro, Brasil.
Mistron, J. Hibernate: Framework de Mapeamento Objeto-Relacional, 53 f.
Monografia para obtenção de título de Tecnólogo em Processamento de Dados. Faculdade
de Tecnologia de Taquaritinga. Taquaritinga. São Paulo, 2009
Magalhães, C. F. Utilização do Framework Hibernate em aplicação Java Web
Disponível em, <http://web.unipar.br/~seinpar/2013/artigos/Carlos%20Filipe
%20Magalhaes.pdf.pdf> Acesso em, 10 de Agosto de 2015.
Soares, L. G. Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate
Disponível em, <http://web.unipar.br/~seinpar/2013/artigos/Luis%20Gustavo
%20Zandarim%20Soares.pdf> Acesso em, 9 de Agosto de 2015.
Filho, O. H. S. Utilização do Framework Hibernate para Mapeamento Objeto
Relacional na Construção de Um Sistema de Informação Disponível em,
<http://dsc.inf.furb.br/arquivos/tccs/monografias/2006-1odilonherculanosoaresfilhovf.pdf>
Acesso em, 10 de Agosto de 2015.
Download