olá Pessoal,
Hoje vou apresentar um pequeno probleminha que alguns já passaram usando o hibernate. Porém, o problema não é do framework e sim do Eclipse que não importa os .jars quando este é adicionado usando library da própria IDE. A situação é bem simples: “o programador está convicto que tudo está OK, nao falta nenhum .jars, os imports correto etc.” Mas, ao executar aplicação e tentar salvar algo no BD, recebe uma exceção org.hibernate.Session.
Neste post vou mostrar aonde está o problema.
Lets go…
O problema
Como relatei o problema é na IDE Eclipse que ela nao faz os imports dos .jars que você adicionou ao projeto usando library. Que na verdade os .jars deveriam está na pasta lib do seu projeto fisicamente. Porém não é isso que acontece. Experimente ir na pasta lib do seu projeto e veja se vai ver algum .jar do hibernate. Acredito que não e por isso temos essa exceção em um caso como esse.
Abaixo olha os testes que e fiz e como solucionei (acredito que você já sabe como é):
Criei um projeto simples, que cadastra um cargo no BD. Somente para mostrar o problema.
-
Vamos felizes da vida tentar cadastrar uma novo cargo
-
Olha que beleza:
-
Vamos ver o que temos na pasta lib do meu projeto:
-
Bem, Não vejo meus arquivos .jars do hibernate que adicionei ao projeto. Onde estão sr. Eclipse? Esse é o problema do Eclipse, nos adicionamos os ,jars e ele nao copia fisicamente os .jars para a pasta lib. Isso dar certo quando é projeto não é JEE. Como falei neste post.
-
A solução, é copiar os .jars veja:
-
Agora vamos testar app novamente
-
Verificando no meu BD ver:
Pronto, resolvido o problema! Bem, Nem sempre a exceção com hibernate.session está relacionada com a falta dos .jars, as vezes é erro de programação mesmo. Mas, quando você está certo dos seus codes e está usando o Eclipse, não esqueça de ir a pasta lib do projeto e verificar se os .jars do Hibernate realmente estao no seu projeto.
Vou ficando por aqui, espero que a dica tenha ajudado quem está passando por essa situação, eu ja mandei uma nota para equipe do Eclipse, mas eles disseram que isso não é um bug da IDE. Bem, o NetBeans não tem isso, todas as libraries adicionadas ao projetos, temos os .jars fisicamente no projeto. Então, será que não é uma falha do nosso querido Eclipse? Eu ja reclamo disso desde da versão antes Galileo.
Abracos, see you next post.