introdução ao hibernate

21
Introdução ao Hibernate Cássio Freire Rafael Duarte

Upload: rajah-davenport

Post on 02-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Introdução ao Hibernate. Cássio Freire Rafael Duarte. Introdução. Hibernate é um mecanismo simples que permite persistir objetos Java em banco de dados. ------------------------------------------------------------------------ Definição do mapeamento objeto relacional em XML - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introdução ao Hibernate

Introdução ao Hibernate

Cássio FreireRafael Duarte

Page 2: Introdução ao Hibernate

Introdução

• Hibernate é um mecanismo simples que permite persistir objetos Java em banco de dados.------------------------------------------------------------------------

• Definição do mapeamento objeto relacional em XML• Linguagem de consulta OO (HQL - Hibernate Query Language)• Overhead mínimo em relação à JDBC

– overhead < 10% X benefícios (separação em camadas, baixo acopl.,etc)

Page 3: Introdução ao Hibernate

Arquitetura base

Page 4: Introdução ao Hibernate

Características

• Relacionamentos (many-to-one, many-to-many, one-to-one, etc)• Dialetos (MySQLDialect, OracleDialect, PostgreSQLDialect, etc)• Identificadores

– vm: gera identificadores de tipo long, short, int.– sequence: utiliza a sequencia das bases de dados DB2, PostgreSQL,

Oracle, SAP DB, podendo ser long, shor ou int.– hilo: utiliza um algoritimo para gerar identificadores do tipo long, short,

ou int. – uuid.hex, native, etc …

Page 5: Introdução ao Hibernate

Banco de Dados suportados

• DB2 7.1, 7.2; • MySQL M3.23;• PostgreSQL 7.1.2, 7.2, 7.3; • Oracle 8i, 9i; • Sybase 12.5; • Interbase 6.0.1 (Open Source) with Firebird;• HypersonicSQL 1.61, 1.7.0; • Microsoft SQL Server 2000;

– Outros• Mckoi i SQL 0.93; Progress 9; Pointbase Embedded 4.3; SAP DB 7.3;

Informix; Ingres; FrontBase

Page 6: Introdução ao Hibernate

Aplicação Hibernate

• Hibernate Properties File– arquivo (xml ou properties) contendo as propriedades de conexão ao

banco• Hibernate Mapping (XML) File

– arquivo xml que relaciona as propriedades do objeto aos campos da tabela

• Hibernate Java Library • HQL (Hibernate Query Language)• Java Class Files

– objeto cujo estado vai ser persistido• Database Schema

– tabela no banco de dados

Page 7: Introdução ao Hibernate

Cenário de Teste

JSP Servlet

Hibernate BD

HQL SQL

Page 8: Introdução ao Hibernate

Hibernate Properties File Server.xml

Properties

Page 9: Introdução ao Hibernate

Database Schema

Page 10: Introdução ao Hibernate

Java Class Files

Page 11: Introdução ao Hibernate

Hibernate cfg.xml

Dialeto

Arquivo que mapeia o objeto a ser persistido

Page 12: Introdução ao Hibernate

Hibernate Mapping (XML) File

Page 13: Introdução ao Hibernate

Adicionando um Gato

// Obtém uma conexão JDBC e instancia uma nova sessãoSession session = sessionFactory.openSession();// Inicia uma nova transação (opcional)Transaction transaction = session.beginTransaction();Cat cat = new Cat();cat.setName("princess");cat.setSex('M');session.save(cat);transaction.commit();session.close();

SQL gerado MySQL:INSERT INTO cat (id, name, sex) VALUES (NULL, ‘princess', 'M')

Page 14: Introdução ao Hibernate

Removendo um Gato

// Obtém uma conexão JDBC e instancia uma nova sessãoSession session = sessionFactory.openSession();// Inicia uma nova transação (opcional)Transaction transaction = session.beginTransaction();session.delete("FROM cat in class example.Cat WHERE cat.id

="+request.getParameter("id"))transaction.commit();session.close();

SQL gerado MySQL:DELETE FROM cat WHERE id = parametro

Page 15: Introdução ao Hibernate

Herança - DomesticCat

Page 16: Introdução ao Hibernate

Relacionamentos (Ex: One-to-Many, Many-to-One)

Page 17: Introdução ao Hibernate

Exemplo – Execução

• http://172.17.104.53/quickstart

Page 18: Introdução ao Hibernate

Tecnologia Complementares

• Hibernate + Struts• Hibernate + XDoclet + Ant• Hibernate + Design Patterns (DAO, VO, etc)Ex: Utilizar scripts do ANT com o Xdoclet para gerar os arquivos

“.hbm.xml” do hibernate

XDoclet – Ferramenta usada para geração automática de documentação e código. Combinada com o Ant, automatiza a criação de arquivos XML, aplicações Web, Java Beans, test cases para Junit, etc.

Ant – Permite automatizar todos os processos de construção, instalação, configuração, integração, deployment e depuração. Pode enviar e-mail, transferir arquivos via FTP, executar programas, transformar documentos usando XSLT, gerar PDF, etc.

Page 19: Introdução ao Hibernate

J2EE Patterns(DataAccessObject + ValueObject):. Estrutura

Encapsula todos os acessos à

origem de dados

Hibernate

Transportador de Dados

Page 20: Introdução ao Hibernate

J2EE Patterns(DataAccessObject + ValueObject):. Participantes e Responsabilidades

HIB

ER

NA

TE

Page 21: Introdução ao Hibernate

Referências

• Página Oficial– www.hibernate.org

• A Hitchhiker's Guide to Hibernate– http://files.blog-city.com/files/aa/1018/b/HibernateKickstart.html

• Hibernate in Action: Practical Object/Relational Mapping– http://www.theserverside.com/resources/HibernateReview.jsp

• Hibernate & Tomcat Quickstart– http://www.hibernate.org/hib_docs/examples/quickstart/html/

quickstart.html