Hibernate Anotations

Documentos relacionados
HIBERNATE EM APLICAÇÃO JAVA WEB

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans

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

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

Parte II Persistência entre Modelos de Dados

UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES

Figura 1.1 Código de inserção não baseado em Hibernate. Figura 1.2 Código de inserção baseado em Hibernate

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

UTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO

PERSISTÊNCIA DE DADOS EM JAVA UTILIZANDO HIBERNATE: Mapeamento Objeto / Relacional

Framework Hibernate/JPA

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Criando uma aplicação web. Parte 1

Persistência BD / drivers

3 Tecnologias Relacionadas

Mapeamento Objeto-Relacional

Hibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior

Documento de Arquitetura de Software- SGE

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Hibernate na sua aplicação JavaWeb

Conexão com Banco de Dados

ALUNO: RONI FABIO BANASZEWSKI

Mecanismo de Persistência

Série Rações Semanais JPA & Hibernate Rogério Araújo

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Técnico em Informática. Banco de Dados. Profª Ana Paula Mandelli

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Persistência de dados com Java e Hibernate Annotations

2. Conceitos e Arquiteturas de um SGBD

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

Criando uma aplicação web

Mapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima

Banco de Dados. SGBDs. Professor: Charles Leite

FERRAMENTA DE GERENCIAMENTO PARA O SGBD MYSQL

One-to-Many. Many-to-One. Many-to-Many

Benjamin Bengfort Jenny Kim

Acadêmico: Samuel Y. Deschamps Orientador: Prof. Jacques R. Heckmann

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Banco de Dados. Prof. Gleison Batista de Sousa Aula 01

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Testes Automatizados com Banco de Dados

Banco de Dados. Perspectiva Histórica dos Bancos de Dados. Prof. Walteno Martins Parreira Jr

UMA ARQUITETURA VOLTADA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB.

VANTAGENS DE USAR APACHE MAVEN NA PROGRAMAÇÃO.

Ferramentas gráficas e relatórios

Linha de Sistemas Folhamatic

Módulo III Camada de Persistência

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Aula 01 Conceito de Banco de Dados e SGBD

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC

Testes Automatizados e Bancos de Dados

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Marcela Mariotti Peres Arquitetura em três camadas Parte 1 [conceito]

Objetos e Componentes Distribuídos: EJB

BANCO DE DADOS ORIENTADO A OBJETOS

Introdução ao Desenvolvimento de

igrpweb Índice gráfico Cliente NOSi igrpweb Referência Versão 1.00 Status

Fica expressamente proibido a reprodução ou utilização deste material sem a devida permissão ou consentimento do autor.

JBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education

BD II (SI 587) Programação SQL. Prof. Josenildo Silva.

Desenvolvimento Web II

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Introdução a Banco de Dados Aula 02. Prof. Silvestri

Arquiteturas para SGBD. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Modelo de Componentes CORBA

Banco de dados orientados a objetos e Java: : uma visão prática

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

2 Versão 1: Funcionalidade Básica e Interface Web

BCD29008 Banco de dados

5 Trabalhos Relacionados

BD e Aplicações em Negócios

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

2 a Lista de Exercícios

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

Capítulo 9: Sistemas de banco de dados

POO Programação Orientada a Objetos

Opções de persistência

6 Conclusão. 6.1 Contribuições

Matéria Introdutória. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Gustav Dallmann Júnior


TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

Banco de Dados. Banco de Dados II. Característica fundamental de SGBDs. Abordagem SGBD x Processamento de Arquivos Tradicional

Data Warehouse ETL. Rodrigo Leite Durães.

Ademir Cristiano Gabardo. Novatec

DESENVOLVENDO APLICAÇÕES MULTIPLATAFORMA PARA DISPOSITIVOS MÓVEIS UTILIZANDO IONIC E PHONEGAP

Aula 2: Arquitetura em Três Camadas e APIs

BCD29008 Banco de dados

Sistemas de Banco de Dados

[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL

SQL (com MySQL) Apresentação OBJETIVOS. Programação

Transcrição:

Hibernate Anotations Fabio Luiz Oenning da Costa¹, Ricardo Minigucci¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil fabiooenning@hotmail.com ricardominigucci@gmail.com Resumo. Este artigo apresenta o Hibernate Annotations que é um framework, que se destaca entre outros detalhes por alterar o banco de dados para outro SGBD e para o mapeamento objeto/relacional. O mapeamento dos objetos foi simplificado devido à criação do Hibernate Annotations de forma a reduzir a necessidade de criação de um arquivo especifico que possibilitava o mapeamento de cada tabela utilizada pelo banco de dados, com a criação das anotações basta que seja indicada a anotação necessitada pelo desenvolvedor, para que o pacote seja chamado e descarte a necessidade de criação de um arquivo de mapeamento, assim esperamos apresentar essa abordagem neste artigo. 1. Introdução Linguagens de programação como Java, cada vez mais tem seus conceitos de orientação a objeto, tratados de forma distribuída, pois bancos de dados orientados a objeto tem certa limitação se comparando aos relacionais, isso se deve a falta de robustez e eficiência, que são ocasionados pela manipulação nos formatos dos objetos. O Hibernate Anotations foi criado para simplificar a comunicação entre um banco de dados relacional e o modelo de aplicação de objetos por meio de arquivos XML, esse arquivo é responsável por fazer o mapeamento para as tabelas do banco de dados, se não tivéssemos esse pacote, seria necessário à criação de arquivos para cada tabela do banco de dados utilizada. 2. Metodologia Para realizar este trabalho foi preciso realizar pesquisas em apostilas, artigos e sites da Internet e livros na web. 3. Desenvolvimento Este capitulo apresenta o hibernate e algumas anotations. 3.1. Hibernate É um Framework gratuito utilizado para mapeamento de objeto/relacional, introduzi-o sua linguagem própria de query (Hibernate Query Language). isso é, converte os objetos definidos pelo programador em dados distintos no banco de dados, assim o programador minimiza consideravelmente a quantidade de códigos de acessos que ele terá que desenvolver para o banco de dados e SQL [Introdução ao Hibernate 2014].

3.2. Vantagens do Hibernate Ao utilizar o código SQL dentro de uma aplicação Java, pode complicar o mapeamento de classes do banco de dados relacional, tendo em vista o problema de independência de plataforma de banco de dados, esse problema pode tornar muito complicado relacionar os dados. O Hibernate executa esse papel, distribui o código SQL dentro da nossa aplicação e dessa forma permiti escolher o tipo de banco de dados enquanto o programa está em execução, permitindo assim alterar sua base sem que seja necessária a alteração do código Java. 3.3. Mapeamento Objeto Relacional A maneira mais utilizada no armazenamento de dados é utilizando um banco de dados relacional, mas devido ao rápido desenvolvimento que vem passando as linguagens orientadas a objeto, é necessária à comunicação entre bancos de dados relacionais de forma mais simples e funcional. Para que essa interação aconteça, se torna necessária à conversão de objetos em tabelas e tabelas em objetos, e em alguns casos os dados não são compatíveis (variação entre os tipos de linguagem e bancos de dados). O mapeamento objeto relacional faz a conversão entre objetos e linhas de tabelas. 3.4. Annotations As Anotations foram implementadas no Java 5, e desde então, a maioria das ferramentas passou a utilizar essas annotations, que são interfaces aplicadas no nível da classe, e de variáveis e definem os meta-dados relacionados á própria classe, essas annotations foram adotadas pelo Hibernate e as integrou á parte essencial do framework [Introdução ao Hibernate 2014]. 3.5. Como Utilizar o Hibernate Annotations Para utilizar o Hibernate Annotations, é preciso fazer o download de sua versão atual 4.3.6 que está no seguinte link http://hibernate.org/orm/. 3.6. Annotations do Hibernate Session: O objeto Session é aquele que possibilita a comunicação entre a aplicação e a persistência, através de uma conexão JDBC. Ele é um objeto leve de ser criado, não deve ter tempo de vida por toda a aplicação e não é threadsafe. Um objeto Session possui um cache local de objetos recuperados na sessão. Com ele é possível criar, remover, atualizar e recuperar objetos persistentes. SessionFactory: Esse objeto mantém o mapeamento objeto relacional em memória permite a criação de objetos Session, a partir dos quais os dados são acessados, também denominado como fábrica de objetos Sessions.

Um objeto SessionFactory é threadsafe, porém deve existir apenas uma instância dele na aplicação, pois é um objeto muito pesado para ser criado várias vezes [Hibernate com Anotações 2007]. Configration: Um objeto Configuration é utilizado para fazer as configurações de inicialização do Hibernate. Com ele, definem-se diversas configurações, como por exemplo: o driver do banco de dados a ser utilizado, o dialeto, o usuário e senha do banco, entre outras. É a partir de uma instância desse objeto que se indica como os mapeamentos entre classes e tabelas de banco de dados devem ser feitos [Hibernate com Anotações 2007]. Transaction: A Interface Transaction é utilizado para representar uma unidade indivisível de uma operação de manipulação de dados. autilização dessa interface nas aplicações que usam Hibernate é opcional [Persistência de dados com Java e Hibernate Annotations 2009]. Interfaces Criteria e Query: As interfaces Criteria e Query são utilizadas para realizar as consultas no banco de dados [Hibernate com Anotações 2007]. One-to-One: A anotação One-to-One é utilizado para associar duas entidades, onde uma não é componente da outra, ao contrário dessa definição em uma associação One-to- One também podemos ter um relacionamento bidirecional. One-to-Many: A anotação @OneToMany pode ser aplicada para um campo ou propriedade de uma coleção ou um array representando o "many" da associação. @JoinColumn: Essa anotação é utilizada para nomearmos a coluna que possui a chaveestrangeira requerida pela associação. Caso ela não seja nomeada essa coluna ira utilizar o nome do campo. @TableGenerator: A anotação @TableGenerator sua utilidade é semelhante à anotação @SequenceGenerator, no entanto, a anotação @TableGenerator manipula uma tabela padrão no banco de dados para obter valores de chaves primárias, ao invés de usar um objeto de sequência específica de vendedor. 3.7. Arquitetura do Hibernate A arquitetura do Hibernate é formada por um conjunto de interfaces, A camada de negócio fica acima da camada de persistência por atuar como uma cliente da camada de persistência, as interfaces são classificadas como: Session, Transaction e Query; Essas Interfaces são responsáveis por executar operações de criação, deleção, consulta e atualização no banco de dados. Configuration; Essa Interface é utilizada pela aplicação para configurar o Hibernate. Interceptor, Lifecycle e Validatable; Essas Interfaces são as responsáveis por realizar a interação entre os eventos do Hibernate e a aplicação. UserType, CompositeUserType e IdentifierGenerator; Essas Interfaces que permitem a extensão das funcionalidades de mapeamento do Hibernate.

O Hibernate interage com as APIs existentes no Java: JTA, JNDI e JDBC. Abaixo a figura-1 representa as principais interfaces que são: Session, SessionFactory, Transaction, Query e Configuration [Hibernate com Anotações 2007]. 4. Considerações Finais Figura 1 - Representa a Arquitetura do Hibernate A ferramenta Hibernate é open-source e uma das mais usadas na atualidade para o mapeamento de banco de dados, tornado por esses motivos uma das preferidas de muitos desenvolvedores. Talvez podendo indicar a principal característica, a eliminação do trabalho repetitivo e tendencioso e a substituição pela orientação a objeto, eliminando o paradigma estruturado. Dentre todo esse desenvolvimento, podemos indicar uma desvantagem na utilização desse framework uma relativa perca de desempenho, apesar que foi identificado que em alguns casos, essa perca não ocorre. Sistemas que tem sua parte lógica da aplicação na sua base de dados ou fazem um uso extensivo de stored e triggers, podem não ter um bom desenvolvimento e consequentemente tornar seu desempenho decepcionante, apesar de todos os detalhes.

5. Referencias Fernandes Raphaela Galhardo. Gleydson de A. Ferreira Lima. (2007) Hibernate com Anotações. Disponivel em:<http://www.futurepages.org/wiki/lib/exe/fetch.php? media=quickstart:hibernate_anotacoes.pdf> Acesso em: 10/04/2014. Ortoncelli André Roberto, Carlos Lazarin Jóia Alberto. (2009) Persistência de dados com Java e Hibernate Annotations. Disponivel em: < http://www.google.com.br/url? sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0cb0qfjaa&url=http%3a%2f%2 Fwww.atualizado.com.br%2Fsemfronteiras%2Findex.php%3Foption%3Dcom_docman %26task%3Ddoc_download%26gid%3D8%26%26Itemid%3D66&ei=75QAVP-2GOr msasuvygaaw&usg=afqjcnebie7l3wy7j4pqnv76w4fgvnvarq > Acesso em: 26/08/2014. Apostila Java para Desenvolvimento Web, Capitulo 14. Disponivel em: <http://www.caelum.com.br/apostila-java-web/uma-introducao-pratica-ao-jpa-comhibernate/> Acesso em: 26/08/2014. Prates Rubens. (2014) Introdução ao Hibernate. Tradução Lúcia A. Kinoshita. ed. Novatec Editora LTDA.