Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate



Documentos relacionados
HIBERNATE EM APLICAÇÃO JAVA WEB

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Persistência de dados com JPA. Hélder Antero Amaral Nunes

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

UFG - Instituto de Informática

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Integração de sistemas utilizando Web Services do tipo REST

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

Documento de Projeto de Sistema

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

A Grande Importância da Mineração de Dados nas Organizações

WebApps em Java com uso de Frameworks

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

Persistência de Dados em Java com JPA e Toplink

NETBEANS IDE UTILIZAÇAO DE RECURSOS PARA DESENVOLVIMENTO DE PROJETO JAVA WEB

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

JPA: Persistência padronizada em Java

Estrutura do Trabalho: Fazer um resumo descrevendo o que será visto em cada capítulo do trabalho.


Especificação do Trabalho

Gestão de Relacionamento com o Cliente CRM

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

CURSO DESENVOLVEDOR JAVA Edição 2010

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Persistência em Software Orientado a Objetos:

Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de Rafael Polo e Sabrina Arêas

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

UFG - Instituto de Informática

Novatec Editora Ltda. [2014].

Persistindo dados com TopLink no NetBeans

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Struts 2 : Projeto e Programação Editora: Ciência Moderna Autor: Antunes Budi Kurniawan Número de páginas: 600

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

UNIVERSIDADE ESTADUAL DO CENTRO-OESTE UNICENTRO CURSO DE ESPECIALIZAÇÃO EM MÍDIAS EM EDUCAÇÃO

Java para WEB com Hibernate e Struts 2. Duração 52 horas/aula. Objetvo

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

SISTEMA GERENCIADOR DE BANCO DE DADOS

Manual de Procedimentos para Desenvolvimento de Softwares

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

UFG - Instituto de Informática

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

Universidade Federal de Santa Catarina Departamento de Informática e Estatística Bacharelado em Sistemas de Informação

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

INFORMATIZAÇÃO DE FARMÁCIAS PÚBLICAS UTILIZANDO SOFTWARE

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

Persistência e Banco de Dados em Jogos Digitais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

LINGUAGEM DE BANCO DE DADOS

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

Especial Online RESUMO DOS TRABALHOS DE CONCLUSÃO DE CURSO. Sistemas de Informação ISSN

Objetivos Específico

Odyssey-MDA: Uma Ferramenta para Transformações de Modelos UML

Semântica para Sharepoint. Busca semântica utilizando ontologias

Gerenciamento do ciclo de vida de um documento Simone de Abreu

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

CONSTRUÇÃO DE UM FRAMEWORK PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB

Artur Petean Bove Júnior Tecnologia SJC

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Feature-Driven Development

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Sistemas Distribuídos

MUDANÇAS NA ISO 9001: A VERSÃO 2015

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

Universidade da Beira Interior

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

TI em Números Como identificar e mostrar o real valor da TI

UTILIZAÇÃO DAS METODOLOGIAS ÁGEIS XP E SCRUM PARA O DESENVOLVIMENTO RÁPIDO DE APLICAÇÕES

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

UML: Diagrama de Casos de Uso, Diagrama de Classes

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Transcrição:

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk, kessia@unipar.br Resumo. Este artigo constitui em uma descrição sobre o que é e como funciona o Mapeamento objeto-relacional (ORM), juntamente da ferramenta de persistência Hibernate e apresentando informações básicas sobre o mesmo. O artigo também abrangerá o estudo de caso e como ele funciona para o mapeamento objeto-relacional. 1. Introdução O Hibernate consiste em um poderoso framework utilizado para realizar o ORM (Mapeamento Objeto-Relacional), e como a maior parte de um uma aplicação envolve na criação e manutenção de camadas de persistência, se o modelo de banco de dados sofrer alterações, pode ser muito oneroso realizar as alterações para todo o resto da aplicação, fazendo com que o Hibernate elime esta lacuna [KRAEMER, VOGT 2004]. Com o grande crescimento das demandas de sistemas e mão de obra no mercado de trabalho, o mapeamento objeto-relacional surgiu com intuito de auxiliar os profissionais da área de TI a agilizar seus trabalhos, pois utilizando a técnica de ORM, o programador não necessita preocupar-se com os comandos em SQL (Structured Query Language) para a criação e manipulação do banco de dados, o mesmo é realizado pelo ORM, poupando um grande trabalho e tempo para os programadores e as empresas. O objetivo deste trabalho é explicar e mostrar o que é e como funciona a modelagem objeto-relacional utilizando o framework Hibernate para uma melhor persistência nos dados, com alto desempenho e fácil metodo de manuseio, aboradará também sobre o estudo de caso, sobre o que ele é, como funciona, e qual sua importância para com o mapeamento objeto-relacional. 2. Hibernate "O Hibernate é um framework para mapeamento objeto-relacional para linguagem Java. Na prática, ele é um conjunto de classes, interfaces e arquivos de configuração préacabados que permitem a criação de uma camada de serviço capaz de abstrair a existência do banco de dados para sistemas Java" [MRACK 2006]. Lançado em 2001, o Hibernate foi criado por desenvolvedores Java, juntamente com a liderança de Gavin King, fundador do projeto Hibernate. Após sua criação, a empresa JBoss Inc, contratou os principais desenvolvedores do framework para realizar o suporte do mesmo.

A principal proposta do Hibernate é prover aos desenvolvedores uma maneira de realizar o mapeamento de uma forma transparente, isto é, através da criação de classes, como se não houvesse persistência relacional [GONÇALVES 2008]. Como o framework Hibernate utiliza sua própria linguagem SQL, o HQL (Hibernate Query Language), o programador não necessita de escrever muitos códigos SQL para acesso ao banco de dados, pois o HQL possui um considerável aumento na velocidade de desenvolvimento, podendo mudar a qualquer momento o SGDB (Sistema de Gerenciamento de Banco de Dados) utilizado [FRAGOSO 2008]. Segundo LUCKOW e MELO (2010), vale a pena destacar que o framework Hibernate possui três frentes de software, elas são: Hibernate Core: conhecido como Hibernate 03, é a base para todo o conjuntos de persistência que o Hibernate oferece, contendo um API (Application Programming Interface) nativa e matadados de mapeamento guardados em arquivos XML (Extensible Markup Language). Possui linguagem própria de SQL, o HQL e também possui interfaces para realização de consultas. Hibernate Annotations: a nova maneira de realizar o mapeamento de objeto/relacional utilizando annotations, um tipo de tags especiais estilo JavaDoc, trazendo como vantagem a grande redução de linhas de códigos para realizar esse processo de mapeamento comparado o XML. Hibernate EntityManager: é a camada que atende aos conceitos de programação de interfaces e funcionalidades de consultas, fazendo com que a interface leia o metadado ORM de uma entidade e realiza operações de persistência. A figura 01, descreve simplificadamente como funciona a arquitetura do Hibernate e demonstra duas técnicas de mapeamento, XML e annotations. Figura 01. Como funciona o Hibernate [SMOLENAARS, 2005]

3. Mapeamento Objeto-Relacional utilizando o Hibernate O mapeamento objeto-relacional (ORM), é a base teórica sobre a qual podemos mapear objetos em tabelas de bancos de dados relacionais, visando reduzir a impedância existente entre os dois paradigmas durante o desenvolvimento de software. Quando se mapeia os dados do modelo relacional cria-se o efeito de que o banco de dados seja orientado a objetos, de modo que o programador não precisa se preocupar com a disposição dos dados nas tabelas e se focar na manipulação de objetos e nos problemas de negócio (BAUER, KING 2007). A figura 02, apresenta como funciona o mapeamento objeto-relacional, a tabela é representada pela classe aluno, as colunas são os atributos da classe e a linhas da tabela como instância da classe. Figura 02. Exemplo de Mapeamento Objeto-Relacional [MISTRON, 2009] 4. Estudo de Caso Para ser efetuada a conexão do Hibernate com o banco de dados, é necessario a criação de uma Unidade de Persistência no projeto, a mesma solicita que seja informado dados para que ela possa efetuar a conexão, dados como o provedor de persistência que é o framework de persistência a ser utilizado e fonte de dados para que ele possa realizar a conexão com o banco de dados.

Figura 03. Exemplo de conexão do Hibernate com o banco de dados. As annotations, nova maneira de mapeamento objeto-relacional utiliza tags para realizar o mapeamento, os simbolos no código que se iniciem com @ (arroba) é uma annotation. As annotations auxiliam o Hibernate em como se deve criar os atributos na tabela do banco de dados, como por exemplo o @Entity que declara uma entidade do tipo relacional como uma tabela, porém ainda continua sendo uma classe Java, também tempo o @id que define o identificador da tabela e annotations utilizada para realizar associações, tais como @ManyToOne que define um atributo de muitos para um ou a annotation @OneToMany que define um atributo de um para muitos. 5. Metodologia Figura 03. Exemplo de classe de entidade e anotações Este artigo foi desenvolvido utilizando de livros, artigos e páginas da web, pesquisando a fundo e fazendo uma grande revisão do conteúdo pesquisado e logo após unificando as revisões para a elaboração do projeto aqui escrito, Imagens do código fonte do trabalho de conclusão de curso (Aplicação de Tecnologia Java na Produção de Software de

Varejo) foram utilizadas para ilustrar parte do artigo para mostrar claramente ao leitor como funciona a utilização do Hibernate. 6. Conclusão Com a grande competitividade no mercado de trabalho nos dias atuais, as empresas de TI precisam que seus softwares sejam de maior qualidade em um menor espaço de tempo e atendendo as necessidades de seus clientes, e é por isso que o uso de framework é tão importante na elaboração de projetos hoje em dia. Podemos então concluir que o framework Hibernate é uma ferramenta que auxilia em muito na produção dos softwares, proporcianando um melhor desempenho e qualidade, tornando também uma ótima opção de ferramenta pelo fato de que o Hibernate não utiliza o uso do SQL para criação e manipulação do banco de dados, trazendo uma linguagem própria e que agiliza na criação e manipulação do mesmo. Devido sua grande evolução nos últimos anos, o Hibernate possui grandes probabilidades de crescer muito e se tornar uma ferramenta ainda melhor para os programadores e empresas que utilizam dessa tecnologia para auxiliar os mesmos na produção de seus projetos. Referências Bauer, C.; King, G. (2007) "Java Persistence com Hibernate" 1 Edição, Editora Ciência Moderna Ltda. Rio de Janeiro, Brasil. FRAGOSO, R, R., (2008) "O que é Hibernate", http://webcache.googleusercontent.com/search?q=cache:objuayy_famj:www.dicas l.com.br/arquivo/o_que_e_hibernate.php+hybernate+hql+fragoso+2008&cd=1&hl =pt-br&ct=clnk&gl=br&source=www.google.com.br#.ufb_hi2kls4, acessado em 29 de Julho de 2013. GONÇALVES, E. "Desenvolvendo Aplicações Web com JSP, Servlet, JavaServerFaces, Hibernate, EJB 3 Persistence e Ajax", Rio de Janeiro: Ciência Moderna Ltda., 2008. Kraemer, Fabiano.; Vogt, Jerônimo Jardel. "Hibernate, um Robusto Framework de Persistência Objeto Relacional", 18 f. Trabalho de Conclusão da Disciplina Programação com Objetos Distribuídos (especialização) - Universidade Federal do Rio Grande do Sul. Porto Alegre, 2004. Luckow, D. H.; Melo, A. A. (2010) "Programação Java para Web", Editora Novatec. São Paulo, Brasil. MISTRON, J. "Hibernate: Framework de Mapeamento Objeto-Relacional", 53 f. Monografia para obtenção de título de Técnólogo em Processamento de Dados. Faculdade de Tecnologia de Taquaritinga. Taquaritinga. São Paulo, 2009. MRACK, M. (2006) "Hibernate, Uma visão geral sobre o framework padrão de fato para mapeamento objeto-relacional", http://www.slideshare.net/mmrack/workshophibernate-com-comentarios, acessado em 29 de Julho de 2013. SMOLENARS, D. C. "Questionários Dinâmicos", 2005.