DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo Java Magazine 33 - Tira Dúvidas

Artigo Publicado pela Java Magazine 33.

Esse artigo faz parte da revista Java Magazine edição 33. Clique aqui para ler todos os artigos desta edição

jm33.jpg

Tira-Dúvidas

 

EntityManager e driver JDBC

Estou desenvolvendo para minha monografia uma aplicação com EJB 3.0, utilizando o Hibernate, fazendo uso da API Hibernate EntityManager. Para a criação do meu EntityManager crio um factory:

 

EntityManagerFactory emf =

    Persistence.createEntityManagerFactory("sistemabancario");
 

Mas recebo um ClassDefNotFoundException. Além disso, o meu classpath contém o arquivo mysql-connector-java-<versão>-bin.jar, que acredito ser o equivalente ao hsqldb.jar utilizado pelo exemplo da matéria na Edição 28.

Guilherme Melo

 

Quanto à primeira dúvida, o EntityManager deve ser utilizado somente para EJBs dentro de um container EJB (parte do servidor JEE). Ele é usado quando se usa o Hibernate como a implementação do CMP (persistência gerenciada pelo container) do servidor de aplicações, e exige passos adicionais de configuração que são dependentes do container EJB utilizado. Então em vez de utilizar diretamente as classes e configurações para EJB 3.0 do Hibernate, devem ser utilizadas as classes da especificação EJB 3.0 e as configurações oferecidas pelo seu servidor de aplicações – JBoss 4, Glassfish, Oracle AS ou outro que já inclua um preview do EJB 3.0.

Observe que os exemplos do artigo da Edição 28 em nenhum momento utilizam o EntityManager. Os exemplos funcionam sem modificações em um container web ou mesmo num container EJB (em EJBs session, por exemplo), incluindo suporte a CMT (transações gerenciadas pelo container) e DataSources do container. O que muda é apenas o arquivo de configuração hibernate.cfg.xml (a documentação do Hibernate indica as mudanças necessárias).

Quanto à segunda dúvida, o arquivo mysql-conector-stable-<versão>-bin.jar é a distribuição completa do MySQL JDBC Connector (nome pomposo do driver JDBC do MySQL), que contém fontes, exemplos e documentação. Você deve descompactar esse jar (utilizando o comando jar xvf ou qualquer descompactador para arquivos zip). É dentro dele que está o arquivo jar com o driver JDBC do MySQL.

Experimente usar uma aplicação Java simples para conectar ao banco de dados, para ter certeza de que estão sendo usados o driver, a url e outros parâmetros corretamente antes de tentar usar o Hibernate. E lembre-se que no MySQL será necessário criar um usuário com permissão para estabelecer conexões "remotas" partindo do endereço IP 127.0.0.1 (que para o MySQL é diferente do localhost).

Fernando Lozano

Hibernate na web e pools de conexões

Escrevi uma aplicação web com Struts baseada no exemplo (não-web) do artigo sobre Hibernate, publicado na Edição 28. Percebi que as conexões com o HSQLDB ficam abertas depois de listar os clientes. Minha aplicação web conecta ao mesmo banco de dados HSQLDB que o usado no exemplo do artigo (porém estou usando o modo Server). Quando executo o exemplo e depois visualizo as conexões no prompt do Linux com o comando netstat aparece:

 

tcp        0      0 127.0.0.1:1078          127.0.0.1:9001          TIME_WAIT

 

Indicando que a aplicação abriu uma conexão, pesquisou os valores e fechou a conexão. Agora, vejam o retorno do mesmo comando depois de executar minha aplicação web:

 

tcp        0      0 127.0.0.1:9001          127.0.0.1:1067          ESTABELECIDA

tcp        0      0 127.0.0.1:9001          127.0.0.1:1066          ESTABELECIDA

 

"



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Equipe Devmedia

Noticias/Dicas/Artigos publicados.




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03