A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Hibernate + JBoss Mapeamento O-R em aplicações corporativas Ricardo Cavalcanti Jobson Ronan

Apresentações semelhantes


Apresentação em tema: "Hibernate + JBoss Mapeamento O-R em aplicações corporativas Ricardo Cavalcanti Jobson Ronan"— Transcrição da apresentação:

1 Hibernate + JBoss Mapeamento O-R em aplicações corporativas Ricardo Cavalcanti roc3@cin.ufpe.br Jobson Ronan jrjs@cin.ufpe.br

2 Hibernate + JBoss  Vantagens  Gerenciamento dos detalhes de configurações do Hibernate  Gerenciamento de suas Sessões do Hibernate

3 Hibernate + JBoss  Usando o Hibernate no JBoss podemos fazer o deploy de nossa aplicação como um “Hibernate Archive”,.har  Torna o uso do Hibernate ainda mais simples

4 Hibernate MBean  O Hibernate Archive instancia e configura o Hibernate MBean  Este será responsável por construir o SessionFactory e registra-lo no JNDI  O Hibernate MBean, também permite inspecionar e alterar as configurações do SessionFactory em tempo de execução

5 Hibernate MBean  Exemplo <mbean code="org.jboss.hibernate.jmx.Hibernate“ name="jboss.har:service=Hibernate"> java:/DefaultDS net.sf.hibernate.dialect.HSQLDialect java:/hibernate/SessionFactory net.sf.hibernate.cache.HashtableCacheProvider...muito semelhante a configuração do hibernate

6 Hibernate archive  Contém classes e mapeamentos mais um deployment descriptor hibernate- service.xml no diretório META-INF hibernate-service.xml <mbean code="org.jboss.hibernate.jmx.Hibernate“ name="jboss.har:service=Hibernate"> java:/DefaultDS

7 Hibernate archive  Estrutura típica

8 Usando objetos Hibernate  Quando é feito o deploy do hibernate archive, os objetos do Hibernate ficam disponíveis a outras aplicações através do SessionFactory  Uma vez este estando registrado no JNDI, pode se fazer um simples lookup e manualmente criar uma Hibernate Session InitialContext ctx = new InitialContext(); SessionFactory factory = (SessionFactory) ctx.lookup("java:/hibernate/SessionFactory"); Session hsession = factory.openSession();

9 Usando objetos Hibernate  Esta forma de acesso requer gerenciamento manual das sessões e transações do hibernate  Pode ser útil para migrar código já existente para o JBoss  Porém, no contexto de grandes aplicações J2EE, seria interessante que os objetos do hibernate fizessem parte de uma transaçao JTA existente

10 Usando objetos Hibernate  Situação comum no caso de querer acessar objetos do hibernate em um Session Bean  O JBoss possui a classe HibernateContext (pkg: org.jboss.hibernate.session) para facilitar esta integração  Método getSession retorna a Session do hibernate ligada a transação JTA corrente Session hsession = HibernateContext.getSession( "java:/hibernate/CaveatEmptorSessionFactory");

11 Usando objetos Hibernate  Desta forma não é necessário fechar as sessões, tampouco gerenciar as transações  Garante um gerenciamento de transações de forma declarativa

12 HAR dentro do EAR  Arquivos HAR podem ser usados como componentes de um arquivo EAR durante o deploy  Porém, como arquivo HAR não é um tipo padrão J2EE este precisa ser declarado no arquivo jboss-app.xml <!DOCTYPE jboss-app PUBLIC "-//JBoss//DTD J2EE Application 1.4//EN" "http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd"> caveatemptor.har

13 Referências  The JBoss 4 Application Server Guide, release 2


Carregar ppt "Hibernate + JBoss Mapeamento O-R em aplicações corporativas Ricardo Cavalcanti Jobson Ronan"

Apresentações semelhantes


Anúncios Google