1 / 26

Objetivos

MODELOS DE PERSISTÊNCIA EM JAVA Ronaldo Carvalho Moura Júnior Engenharia de Computação Centro de Excelência Borland no ITA. Objetivos. Apresentar as principais soluções de persistência em Java Realizar tutorial do Hibernate Compartilhar Experiências.

paloma
Download Presentation

Objetivos

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. MODELOS DE PERSISTÊNCIA EM JAVARonaldo Carvalho Moura JúniorEngenharia de Computação Centro de Excelência Borland no ITA Parceria Borland / ITA

  2. Objetivos • Apresentar as principais soluções de persistência em Java • Realizar tutorial do Hibernate • Compartilhar Experiências Salvador Dali. The Persistence of Memory. 1931 Parceria Borland / ITA

  3. Roteiro • Modelos de Persistência em Java • Introdução ao Hibernate Parceria Borland / ITA

  4. A. Modelos de Persistência em Java Parceria Borland / ITA

  5. Definição • Persistência em Java pode ser definida como a manutenção do estado de objetos de uma aplicação em um armazenamento não-volátil, durante múltiplas execuções da JVM sujeitas a falhas do sistema e da aplicação. Parceria Borland / ITA

  6. Os 5 Frameworks de Persistência Parceria Borland / ITA

  7. Solução # 1 : JDBC JDBC Vantagens Desvantagens Parceria Borland / ITA

  8. Solução # 2 : EJB ( Entity Beans) EJB ( Entity Beans) Vantagens Desvantagens Parceria Borland / ITA

  9. Solução # 3 : ORM ORM Vantagens Desvantagens Parceria Borland / ITA

  10. Solução # 4 : JDO JDO Vantagens Desvantagens Parceria Borland / ITA

  11. Solução # 5 : Serialization Serialization Vantagens Desvantagens Parceria Borland / ITA

  12. B. Introdução ao Hibernate Parceria Borland / ITA

  13. Models de Dados OO Modelo de Dados Relacional • Classes • Instâncias • Tabelas • Registros • Hibernate: é um software livre de mapeamento objeto-relacional (ORM) para Java. Ferramentas ORM Parceria Borland / ITA

  14. Características do Hibernate • Mapeamento objeto-relacional flexível: • representação de herança em 3 formas; • cascateamento configurável de operações; • associaçoes bidirecionais e polimórficas: many-to-one, many-to-many e outras; • Geração automática de chave primária: • métodos: sequence, hilo, uuid, foreign, native e outros. • Alta performance • Suporte a lazy inicialization de coleções e objetos; • overhead < 10% em relação ao JDBC; • Opção de optimistic locking. Parceria Borland / ITA

  15. Características do Hibernate • Suporte a dialetos de vários banco de dados: • DB2, PostgreSQL, MySQL, Oracle, SAP DB, HypersonicSQL, Interbase, Firebird e outros • Linguaguens de consulta suportadas: • Dialeto SQL nativo de seu banco de dados; • HQL :linguagem de consulta OO semelhante ao SQL e independente de banco de dados. Parceria Borland / ITA

  16. Scopo degli interventi Arquiteura Scopo degli interventi Aplicação Hibernate Arquitetura 1 2 3 4 5 Parceria Borland / ITA

  17. Criando uma Aplicação com o Hibernate • 1º Passo: Instalar e configurar o Hibernate • Download do site http://www.hibernate.org • Colocar no diretório /lib o arquivo jar do driver JDBC. • Editar hibernate.properties e configurá-lo para o seu banco de dados. 1 • 2º Passo: Modelar as classes de entidade a serem persistidas • Criar as classes de entidades com métodos get e set para cada atributo (JavaBean) • Criar os arquivos de mapeamento XML para cada classe de entidade. 2 • 3º`Passo: Criar as classes de acesso a dados • Carregar configuração do Hibernate • Abrir sessão • Realizar operação 3 Parceria Borland / ITA

  18. 1º Passo: Instalar e configurar o Hibernate Parceria Borland / ITA

  19. 2º Passo: Modelar as classes de entidade a serem persistidas Parceria Borland / ITA

  20. 2º Passo: Modelar as classes de entidade a serem persistidas + Parceria Borland / ITA

  21. 2º Passo: Modelar as classes de entidade a serem persistidas A classe deve possuir construtor sem parâmetros. Importante ! Id == -1 para instância não persistida Parceria Borland / ITA

  22. 3º Passo: Criar as classes de acesso a dados. Parceria Borland / ITA

  23. 3º Passo: Criar as classes de acesso a dados • DAOHibernate.java • import net.sf.hibernate.cfg.*; • import net.sf.hibernate.*; • publicclass DAOHibernate implements IDAO { • privatestatic SessionFactory factory; • publicstaticvoid loadProgrammaticConfiguration() throws • MappingException, HibernateException { • Configuration cfg = new Configuration() • .addClass(Jogador.class) • .addClass(Time.class) • .setProperty(Environment.HBM2DDL_AUTO, "create"); • DAOHibernate.factory = cfg.buildSessionFactory(); • } • public Object getEntity(Class classType, long id) throws • Exception { • // Obtém uma conexão JDBC e instancia uma nova sessão • Session s = factory.openSession(); • // Inicia uma nova transação (opcional) • Transaction tx = s.beginTransaction(); • Object aObject = s.load(classType, new Long(id)); • tx.commit(); • s.close(); • return aObject; • } • publicvoid saveOrUpdade(Object entity) throws Exception { • Session s = factory.openSession(); • Transaction tx = null; • try { • tx = s.beginTransaction(); • s.saveOrUpdate(entity); tx.commit(); • } • catch (Exception e) { • if (tx != null) tx.rollback(); • throw e; • } • finally { s.close(); } • } • public List getAllJogadores(Time time) throws HibernateException { • Session s = factory.openSession(); • Transaction tx = s.beginTransaction(); • List queryResult = s.find( • "from br.ita.borcon.entity.Jogador as jog where jog.time.id=?", • new Long(time.getId()), Hibernate.LONG); • tx.commit(); • s.close(); • return queryResult; } • } Parceria Borland / ITA

  24. Futuro do Hibernate • Hibernate3 previsto para início de 2005 • Novas características do JDK 1.5: Java generics para coleções seguras; • Mapeamento de entidades para stored procedures; e • Maior suporte a design orientado a evento. Parceria Borland / ITA

  25. Perguntas Exemplo Simples de uma Aplicação Hibernate www.redecasd.ita.br/rmoura/lectures/Borcon2004-Hibernate.zip Parceria Borland / ITA

  26. Obrigado! • <<Favor preencher a ficha de avaliação>> ronaldo.c.moura@bol.com.br Parceria Borland / ITA

More Related