1 / 21

Introdução ao Hibernate

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

Download Presentation

Introdução ao Hibernate

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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)

  3. Arquitetura base

  4. 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 …

  5. 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

  6. 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

  7. Cenário de Teste JSP Servlet SQL HQL BD Hibernate

  8. Server.xml Properties Hibernate Properties File

  9. Database Schema

  10. Java Class Files

  11. Hibernate cfg.xml Dialeto Arquivo que mapeia o objeto a ser persistido

  12. Hibernate Mapping (XML) File

  13. Adicionando um Gato // Obtém uma conexão JDBC e instancia uma nova sessão Session 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')

  14. Removendo um Gato // Obtém uma conexão JDBC e instancia uma nova sessão Session 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

  15. Herança - DomesticCat

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

  17. Exemplo – Execução • http://172.17.104.53/quickstart

  18. 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 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. 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.

  19. J2EE Patterns(DataAccessObject + ValueObject):. Estrutura Hibernate Encapsula todos os acessos à origem de dados Transportador de Dados

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

  21. 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

More Related