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

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

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

Framework Hibernate/JPA

Hibernate Anotations

Hibernate na sua aplicação JavaWeb

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

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

Conexão com Banco de Dados

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

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

Objetos e Componentes Distribuídos: EJB

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

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

Módulo III Camada de Persistência

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

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

Session Bean Stateful

Objetos e Componentes Distribuídos: EJB e CORBA

Introdução ao Desenvolvimento de

FERRAMENTA WEB PARA APOIAR O SETOR DE QUALIDADE NOS TESTES DE RELATÓRIOS DA LEI DE RESPONSABILIDADE FISCAL.

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

3 Tecnologias Relacionadas

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

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

HIBERNATE E JPA: CONCEPTS FOR USE

TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

PROCESSO SELETIVO PARA ESTÁGIO REMUNERADO NO TRIBUNAL DE CONTAS DO ESTADO DO MARANHÃO ENSINO SUPERIOR - INFORMÁTICA

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

Mapeamento Objeto-Relacional


PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

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

Injeção de Dependências e Spring

Impedância em Bancos de Dados

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

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

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

JPA: Persistência padronizada em Java

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: LINGUAGENS PARA APLICAÇÃO COMERCIAL

1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M

BCD29008 Banco de dados

Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira

Sérgio Koch Van-Dall

AVISO Nº 02 - RETIFICAÇÃO. A Companhia de Processamento de Dados do Estado do Rio Grande do Sul PROCERGS, torna público, por este Aviso, o que segue:

Modelo de Componentes CORBA

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

Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos

BCD29008 Banco de dados

5 Conclusão e trabalhos futuros

INF1013 MODELAGEM DE SOFTWARE

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

ALUNO: RONI FABIO BANASZEWSKI

Testes Automatizados com Banco de Dados

Enterprise JavaBeansTM

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

UFG - Instituto de Informática

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

Utilização do Framework Hibernate na criação de um sistema web para avaliação de fornecedores

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

Testes Automatizados e Bancos de Dados

1. Conceitos de Bancos de Dados

Desenvolvimento Web com Java. Sérgio Lopes Caelum -

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

FERRAMENTA DE GERENCIAMENTO PARA O SGBD MYSQL

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

SIMONE CARDOSO DA SILVA CONSTRUÇÃO DE UMA CLASSE DE PERSISTÊNCIA GENÉRICA UTILIZANDO O FRAMEWORK HIBERNATE

Lista de Exercícios Dissertativo

Prof. Me. Sérgio Carlos Portari Júnior

Criando uma aplicação web. Parte 1

WebApps em Java com uso de Frameworks

DESENVOLVIMENTO DE APLICAÇÕES COM JAVA 2EE E UML

Simplicidade, Escalabilidade, Produtividade e Testabilidade com J2EE, AOP e Rich Clients

6 Workshop do Projeto ATIFS INPE

MySql. Introdução a MySQL. Andréa Garcia Trindade

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

Rational Unified Process (RUP)

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

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Parte II Persistência entre Modelos de Dados

Vamos falar de Hibernate?

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

VANTAGENS DE USAR APACHE MAVEN NA PROGRAMAÇÃO.

DESENVOLVIMENTO DE SISTEMA DE CLASSIFICADOS PARA A CIDADE DE PAU DOS FERROS/RN

Java para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets

DESENVOLVIMENTO DE SOFTWARE PARA DESKTOP, USANDO JAVA PARA UMA APLICAÇÃO DE GERENCIAMENTO DE ALUGUEL DE CAÇAMBAS PARA ENTULHOS.

CURSO DE TÉCNICO DE INFORMÁTICA - PLANO DE DISCIPLINA/2016 PROGRAMAÇÃO PARA MODELAGEM DE SISTEMA

Desenvolvimento Web II

1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (

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

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

Model Driven Development (MDD)

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. Dados Transientes e Relacionamentos. 1 Universidade Positivo

Transcrição:

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

Introdução Necessidade de diminuir a complexidade na interação código-banco de dados para o programador,além de diminuir o tempo de programação. Criou-se Hibernate. Um framework para mapeamento objeto-relacional escrito em linguagem Java,idealizado e desenvolvido por Gavin King. Disponível também para.net com o nome de NHibernate.*

Características O objetivo do Hibernate é diminuir a complexidade entre os programas Java, baseado no modelo orientado a objeto, que precisam trabalhar com um banco de dados do modelo relacional. Em especial, no desenvolvimento de consultas e atualizações dos dados.(*) Sua principal característica é a transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL). Na versão 3.x o Hibernate implementa a especificação JPA (Java Persistence API) através do conceito de anotações (implementada a partir do JDK5), o que facilita ainda mais o mapeamento objeto-relacional, que pode agora ser feito diretamente na classe, substituindo o uso dos arquivos XML. Gerenciamento de transações não é responsabilidade do Hibernate e sim de outros elementos na infraestrutura do programa. (*)

Características Hibernate pode ser utilizado em aplicações Java standalone ou em aplicações Java EE, utilizando servlet ou sessões EJB beans. Hibernate é um software livre de código aberto distribuído com a licença LGPL (GNU Lesser General Public License).

Histórico O framework Hibernate foi desenvolvido por uma equipe de programadores Java liderada por Gavin King e teve sua primeira versão divulgada em 2004. Segundo King, um dos objetivos ao criar o projeto era resolver seus problemas referentes à persistência causados pelo EJB 2.0, o qual considerava muito complexo. Eu queria resolver um problema interessante, um problema que me afetava pessoalmente. Eu estava frustrado com o trabalho com entity beans no estilo EJB 2 e as frágeis camadas de persistência escritas à mão. Gavin King, criador do Hibernate em entrevista. Com um escopo muito vasto, o projeto tornou-se inviável de ser mantido apenas nos tempos livres, assim King aceitou entrar para o JBoss Group, passando a ser remunerado para continuar a desenvolver o projeto, o que lhe permitiu dedicação completa ao Hibernate.

Histórico Recentemente foi lançada a mais nova versao -> Hibernate Core 3.6.0.Final Atualmente o Hibernate é mantido pelo JBoss Group o qual possui duas equipes: 1) Equipe de desenvolvimento liderado pelo próprio Gavin King. 2)Equipe dedicada para auxiliar os usuários em treinamento, suporte e consultoria. -> Recentemente a empresa Red Hat comprou o JBoss Group.

Estrutura / Implementações JPA

Vantagens Open Source(licensa LGPL); Transformação das classes em Java para tabelas de dados (e dos tipos de dados Java para os da SQL); Livra o programador da conversão manual do resultset, sendo altamente portável;

Vantagens Escrever (bem) menos código repetitivo, sem perder flexibilidade; Acesso a recursos nativos/específicos dos bancos de dados; Menos preocupação da arquitetura de persistência;

Desvantagens Para executar consultas mais complexas, geralmente é necessário algum tempo de experiência; Perda de desempenho;

HQL Hibernate Query Language Dialeto de SQL. Orientada a objetos. Exemplos: from Foo foo where foo.bar.baz.customer.address.city is not null from Cat cat, Cat rival where cat.mate = rival.mate

Mapeamento Objeto-Relacional Mapeamento relacional X objeto-relacional. Bancos de dados orientados a objetos (ODBMS).

Configuração O hibernate pode ser baixado gratuitamente no site do próprio projeto: http://www.hibernate.org/ O projeto principal e base de nossa apresentação é o projeto Hibernate Core. A configuração do hibernate pode ser realizade de duas formas: 1. Hibernate.properties 2. Hibernate.cfg.xml

Mapeamento O mapeamento pode ser feito de duas formas: 1. Anotações: O mapeamento via anotações consiste em adicionar anotações ao código de classes a serem mapeadas. Anotações básicas: @Entity = Classe que o hibernate tornará persistível no BD. @Id = Informa que o atributo id será a chave primária(toda entidade necessita ter uma chave primária). @GeneratedValue = Esta chave será populado no BD, ou seja, no caso de um BD MYSQL, será usado um auto increment. Existem muitas outras anotações além das acima citadas.

Mapeamento 2. hbm.xml: Quando o mapeamento é feito via xml, o indicado é que se crie um.hbm.xml para cada classe. Mapeamento via xml é uma abordagem mais antiga. Evita poluir classes com anotações. Ferramentas como andromda ajudam na geração desse xml.

Considerações finais Como já mostrado anteriormente, o Hibernate traz muitas facilidades e agilidade para os programadores. Porém antes de tomar a decisão de utilizar essa tecnologia em um projeto, deve ser levado em conta aonde está a maior parte da lógica da aplicação. Projetos que implementam a maior parte de sua lógica nos bancos de dados e não contam com um consistente modelo de objetos, não terão muito benefício com o uso desse Framework.

Bibliografia www.wikipedia.org http://www.hibernate.org/ http://www.devmedia.com.br/articles/viewcomp_forp rint.asp?comp=14756