• Nenhum resultado encontrado

HIBERNATE E JPA: CONCEPTS FOR USE

N/A
N/A
Protected

Academic year: 2021

Share "HIBERNATE E JPA: CONCEPTS FOR USE"

Copied!
5
0
0

Texto

(1)

HIBERNATE E JPA: CONCEITOS PARA UTILIZAÇÃO

Adroaldo Antônio Candido Neto, Luciene Chagas de Oliveira,

Ana Carolina Moraes Oliveira, Diogo Barreiro de Lemos

Universidade de Uberaba - UNIUBE

Graduação em Engenharia de Computação Uberlândia – MG, Brasil

adroaldoneto94@outlook.com , lchagasoliveira@gmail.com, ana-moraesoliveira@hotmail.com, mutukax@hotmail.com Resumo – A praticidade, agilidade e a qualidade no

desenvolvimento de uma aplicação são fatores cruciais, no qual, as empresas neste ramo estão sempre à procura de novas tecnologias, para ter um produto final que satisfaça tanto o cliente quanto quem o desenvolveu. Com essa finalidade, os frameworks Hibernate e JPA vieram para ajudar cumprir esses critérios, permitindo o programador um foco maior em outros quesitos.

Palavras-Chave – praticidade, Hibernate, JPA, frameworks.

HIBERNATE E JPA: CONCEPTS FOR USE

Abstract - The practicality, agility and quality in the development of an application are crucial factors in which the companies in this business are always looking for new technologies to have a final product that meets both the client and who developed it. To this end, the frameworks Hibernate and JPA came to help meet these criteria, allowing the programmer a greater focus on other issues.

1

Keywords – practicality, Hibernate, JPA, frameworks. I. INTRODUÇÃO

No ambiente corporativo é necessário sempre estar buscando novas tecnologias, para agilizar na entrega e na qualidade do produto final. Uma parte significativa desse resultado depende dos sistemas que estão implantados nas organizações que possibilitam atualizar as informações em tempo real, deixando visível cada processo da empresa. É de suma importância que os profissionais que desenvolvam esses sistemas sejam capacitados, com a finalidade de produzir com eficiência e permitindo que o código fonte fique compreensível para uma futura manutenção.

As empresas necessitam de confiabilidade em um sistema que seja capaz de trabalhar com os dados de seus clientes de forma integra. E um outro ponto, a portabilidade de um sistema corporativo muitas vezes é complexa, por não se pensar neste ponto quando é desenvolvido. A linguagem de programação e os frameworks são escolhidos para preencher

esses critérios. Entre as linguagens podemos destacar o Java e os frameworks Hibernate e JPA.

Java é uma das linguagens de programação mais utilizada no mundo, pois possui uma grande variedade de conteúdos e frameworks disponíveis, e as atualizações são constantes. Pode ser desenvolvida em qualquer sistema operacional e executada em qualquer plataforma, desde de que tenha instalado uma máquina virtual de Java (JVM) [1]. Por ser uma linguagem orientada a objeto, sua utilização é ainda maior, visto que possibilita o reaproveitamento de código tornando-a mais simples de compreender.

O Hibernate utiliza as especificações do JPA, mas o JPA veio posteriormente. Foi desenvolvido na linguagem Java e facilita a integração da aplicação com banco de dados, uma vez que a programação orientada a objetos difere muito do modelo de entidade relacional, são duas maneiras diferentes de trabalhar, objetos e registros. É uma ferramenta de mapeamento objeto-relacional (ORM), que torna simples o código SQL e comunicação com o banco, os quais são geradas em tempo de execução. Isso representa uma grande vantagem na migração para outro banco de dados[2].

Os frameworks apresentados anteriormente, utilizados em conjunto, auxiliam no desenvolvimento dos sistemas corporativos, pois trabalha com as classes diretamente, não sendo necessário a utilização de códigos SQL. Dessa forma, o desenvolvedor consegue entregar o produto final em um menor tempo, com a mesma qualidade ou superior.

O esquema que será desenvolvido tem como finalidade a integração da linguagem de programação Java, Hibernate e JPA com o banco de dados, onde é possível visualizar de maneira simples a união dessas tecnologias, o que diferencia de outras ferramentas.

Este projeto tem como objetivo demonstrar a praticidade e agilidade que as ferramentas descritas acima podem trazer durante o desenvolvimento de uma aplicação e os conceitos de como utilizá-las, revelando o quão são poderosas.

II. CONCEITOS

Nesta seção serão abordados quatro conceitos teóricos, que são de grande importância para compreensão do trabalho. São eles: a importância da linguagem de programação Java, mapeamento objeto-relacional (ORM), framework Hibernate e framework JPA.

A. A importância da linguagem de programação Java Java teve início em 1991, com um projeto titulado de “Projeto Green”, que tinha como objetivo a criação de tecnologias de software para empresas que trabalhavam com equipamentos eletrônicos de consumo, com a ideia principal de comunicação entre eles [3].

(2)

A programação orienta a objetos é uma das vantagens do Java, que é amplamente utilizada na indústria de desenvolvimento de software, visto que ele também é gratuito. Além disso, ele pode ser desenvolvido tanto para desktop quanto para web, o qual, torna ainda mais o mercado aquecido. E constantemente são lançados e atualizados diversos frameworks.

B. Mapeamento objeto-relacional (ORM)

O mapeamento objeto-relacional (ORM) é uma técnica que permite a abstração entre o modelo relacional (banco de dados) e o modelo de objetos (classes da aplicação), minimizando as diferenças entre eles e melhorando a produtividade, diminuindo o trabalho do desenvolvedor, já que não são feitos códigos na linguagem do banco de dados para o acesso aos mesmos [4]. Códigos feitos a mão demandam tempo e podem gerar problemas na mudança de bancos de dados e falta de compatibilidade dependendo do paradigma utilizado na aplicação [2].

C. Framework Hibernate

O Hibernate é um framework para mapeamento objeto-relacional para ambientes Java, porém pode ser encontrado na plataforma .Net com o nome NHibernate [5]. É um software livre de código aberto, distribuído com a licença LGPL, e sua versão atual, da elaboração do artigo, é a 5.2.0 [6].

Seu objetivo é diminuir não só o tempo de desenvolvimento, mas também prover facilidades em consultas e retorno de dados, além de mapear as classes Java para tabelas do banco de dados e tipos de dados Java para tipos de dados SQL [7].

O Hibernate gera os códigos SQL necessários para operações realizadas no banco de dados, mantendo a aplicação portável para outros bancos, apesar de causar um leve aumento no tempo de execução.

D. Framework JPA

O Java Persistence API (JPA) fornece um modelo de mapeamento objeto-relacional de persistência de dados baseado em POJOs (Plain Old Java Objects) [8]. É uma especificação para acesso à banco de dados, que funciona com outros frameworks ORM.

O JPA dita uma interface de como o gerenciamento deve ser feito entre o banco de dados e a aplicação, portanto, necessitando de um framework para fazer a implementação, como o Hibernate [9].

III. NORMAS ESPECIAIS

Fig. 1. Interface MySQL Workbench.

Clique com o botão direito em cima de um dos schemas já criados por padrão pelo MySQL e selecione “Create Schema”. Nomeie seu banco de dados e prossiga em criar as tabelas desejadas. Segue um exemplo de criação de tabela por script e um exemplo via interface gráfica:

Fig. 2. Criação de tabela por script.

Fig. 3. Criando a tabela no MySQL Workbench.

Fig. 4. Criando a tabela através da interface. B. Criando as classes Java modelo a partir das tabelas

Uma vez criada a tabela, podemos agora criar as entidades no eclipse a partir das tabelas criadas no MySQL.

(3)

Fig. 5. Criando os Models a partir das tabelas. Adicione uma nova conexão MySQL

Fig. 6. Adicionando conexão MySQL.

Fig. 7. Adicionando conexão MySQL.

Selecione o driver MySQL JDBC e configure de acordo com o seu banco de dados, em seguida teste a sua conexão com o botão “Test Connection”.

Fig. 8. Adicionando conexão MySQL

Agora que a conexão está criada selecione o banco e as tabelas que deseja gerar.

Fig. 9. Selecione as tabelas que gerarão os models. A classe modelo da sua tabela foi criada. Agora copie as classes para o seu projeto principal.

Fig. 10. Classe modelo. C. Utilizando o Hibernate

Antes de utilizarmos o Hibernate é necessário baixar as libs no site www.hibernate.org e incluí-las no projeto.

(4)

Fig. 11. Libraries Hibernate na pasta lib.

Devemos agora configurar o arquivo properties do Hibernate com a sua conexão do banco.

Fig. 12. Arquivo properties do hibernate.

Fig. 14. Classe HibernateFactory.

Agora na classe DAO iremos criar as chamadas com o Hibernate. É importante que façamos todos os imports necessários:

Fig. 15. Imports Hibernate.

E finalmente, utilizamos o Hibernate para o acesso de dados de uma forma simples, através de sessões que permitem commit e rollback.

Fig. 16. Chamadas Hibernate.

IV. CONCLUSÕES

(5)

Quando se está trabalhando em uma linguagem de orientação a objetos, o programador tem um foco maior em outras partes da aplicação.

REFERÊNCIAS

[1] GONÇALVES, Otávio. Por que java?. Disponível em: <http://www.devmedia.com.br/por-que-java/20384>. Acesso em: 19 junho 2016.

[2] CAELUM. Hibernate: Java para Desenvolvimento Web. Disponível em: <https://www.caelum.com.br/apostila-java-web/>. Acesso em: 20 junho 2016.

[3] VINÍCIUS, Thiago. Java: história e principais

conceitos. Disponível em: <

http://www.devmedia.com.br/java-historia-e-principais-conceitos/25178>. Acesso em: 22 junho 2016.

[4] MAYUMI, Priscilla. ORM – Object Relational Mapping – Revista Easy .Net Magazine 28. Disponível em: <http://www.devmedia.com.br/orm-object-relational-mapping-revista-easy-net-magazine-28/27158>. Acesso em: 20 junho 2016.

[5] SILVA, Osmar J. Hibernate: O que é, como baixar,

instalar, configurar e testar. Disponível em:

<http://www.arquivodecodigos.net/principal/diretorios/hi bernate/artigos_tutoriais/hibernate_o_que_e_como_baix ar_instalar_configurar_e_testar.php>. Acesso em: 20 junho 2016.

[6] HIBERNATE. Hibernate ORM: Idiomatic persistence for Java and relational databases. Disponível em: <http://hibernate.org/orm/>. Acesso em: 20 junho 2016. [7] PRIMO, Izalmo. Hibernate: Artigo Java Magazine 73 –

Desenvolvendo com Hibernate. Disponível em:

<http://www.devmedia.com.br/artigo-java-magazine-73-desenvolvendo-com-hibernate/14756>. Acesso em: 20 junho 2016.

[8] MEDEIROS, Higor. Introdução à JPA – Java

Persistence API. Disponível em:

<http://www.devmedia.com.br/introducao-a-jpa-java-persistence-api/28173>Acesso em: 20 junho 2016. [9] RODRIGUES, Fernando. O que é JPA (Java Persistence

API). Disponível em: < http://fernandorodrigues.pro/o-que-e-jpa-java-persistence-api/>. Acesso em: 20 junho 2016.

Referências

Documentos relacionados

• Precisamos refatorar nossa classe Tijolo para respeitar essa interface, e agora estamos livres para criar outras classes, como TijoloFurado (um tijolo com com um buraco no meio

The empirical use of vancomycin in the studied population did not achieve the therapeutic pharmacokinetic and pharmacodynamics target for minimum inhibitory concentration in

Em cada câmara técnica, o resumo de projeto e o projeto técnico-financeiro serão avaliados por uma comissão julgadora composta por pelo menos seis (06) de seus

A hipótese nula (Ho) testada neste estudo é de que o efeito clareador após técnica de clareamento caseiro utilizando peróxido de carbamida 10% por 2 horas

O TROLL ´ e executado somente uma vez para todas as seq¨ uˆ encias, e para todos os SSR’s encontrados de cada seq¨ uˆ encia, ´ e gravado um respectivo arquivo Experiment File (a

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

A partir das analises conclui-se que na comunidade que possui o fumo de galpão o ID é maior do que a comunidade que produz o fumo de estufa, além disso, ela possui

O conceito pode fornecer, também, uma cartografia mais rica das relações das cenas musicais com outras cenas (a teatral, a literária, a cinematográfica), enfatizando tanto