Pessoal,
Estou tentando utilizar o hibernate porém não estou conseguindo utilizar dá dando erro que não acha meu arquivo xml, conforme abaixo:
org.hibernate.MappingNotFoundException: resource: classes/Pessoa.hbm.xml not found
Bom minha estrutura de arquivos está
hibernate-teste -> WEB-INF -> hibernate.cfg.xml
daí dentro do diretório classes está o arquivo Pessoa.hbm.xml
Estou utilizando o eclipse e usei o puglin do eclipse também, daí adicionei o arquivo Pessoa.hbm.xml na opção Additional mapping files (not listed in cfg.xml), fazendo isto ele até acha o Pessoa.hbm.xml porém não acha a classe daí.
Já li os tutorias já tentei fazer vários deles porém nenhum com sucesso.
Se alguém puder me dar uma ajuda agradeceria mto.
Obrigado desde já,
att…
Evandro
Boa tarde amigo,
Você deve verificar, nesse caso, se o caminho para o Pessoa.hbm.xml está mapeado dentro do arquivo hibernate.cfg.xml. Todos os arquivos de mapeamento *.hbm.xml devem estar dentro do hibernate.cfg.xml para poderem funcionar corretamente.
Espero ter ajudado!
[]'s
Boa tarde amigo,
Obrigado pela atenção
no meu hibernate.cfg.xml está assim
Sendo que este arquivo está no mesmo diretório do hibernate.cfg.xml
Tentei colocar o caminho completo, colocar apenas os diretórios principais porém não obtive sucesso,
se puder me ajudar fico grato,
obrigado até o momento,
Evandro
Tenta substituir, dentro do hibernate.cfg.xml, onde tem:
você deve colocar:
Se não der certo, pode ser a configuração do hibernate.cfg.xml que tá errada, tipo:
- O nome do driver do BD;
- O nome de usuario e/ou senha;
- O dialect do BD;
- Ou ainda a URL do BD.
Márcio,
Meus arquivos estão dentro do diretório WEB-INF, daí dentro dele existe a pasta lib, que contem os .jar, existe a pasta classes que está o Pessoa.hbm.xml e daí no WEB-INF estão os arquivos hibernate.cfg.xml e o hibernate.properties.
Já tentei de vários modos porém não estou conseguindo obter sucesso,
vou anexar alguns arquivos se puder dar uma olhada pra ter uma idéia fico grato.
abraço,
Evandro
Acho que descobri finalmente o seu problema… vc terá que utilizar o plugin do eclipse para achar o Pessoa.hbm.xml que é mais facil e para achar a classe Pessoa.class vc terá que colocar o seguinte código no
arquivo Pessoa.hbm.xml:
onde tiver:
coloque:
que vai dizer pro arquivo Pessoa.hbm.xml onde está a classe que na verdade foi declarada dentro de um pacote.
qq coisa tou por aki 
Outra coisa cara… vc tem que colocar no arquivo Pessoa.hbm.xml o mapeamento completo da classe pessoa, ou seja, vc tem que colocar o tipo de cada property, o nome da coluna correspondente aquela property no BD, etc.
Fazendo isso o mapeamento estará completo. Inclusive se a classe tiver relacionamentos com outras classes (um-para-muitos ou um-para-um) vc terá que especificar neste mesmo arq. Pessoa.hbm.xml
Márcio, valeu pela ajuda, to me batendo pra caramba pra dar certo, e mesmo assim parece que não vai, só pela sua ajuda já estou te devendo uma breja, hehe
Bom mas vamos ao assunto, coloqueo o mapping conforme você disse package=“classes”, porém dá erro que não está encontrando ainda, tive que tirar o arquivo Pessoa.hbm.xml de dentro do diretório classes porque o eclipse automaticamente apagava este arquivo deste local, não sei o motivo, coloquei então junto dos arquivos de configuração do hibernate hibernate.cfg.xml que estão dentro do web-inf, então fiz a alteração dentro do Pessoa.hbm.xml para o mapping funcionar, porém ele não acha a classe, dando a seguinte mensagem
org.hibernate.InvalidMappingException: Could not parse mapping document from file D:\Java\Web\Testes-Hibernate\web\WEB-INF\Pessoa.hbm.xml
org.hibernate.MappingException: class classes.Pessoa not found while looking for property: id
org.hibernate.MappingException: class classes.Pessoa not found while looking for property: id
java.lang.ClassNotFoundException: classes.Pessoa
O classes não é um package criado, mas somente o diretório de saída dos .class, tentei tirar o package do mapping porém também deu certo.
Estou anexando o projeto inteiro menos os arquivos do diretório lib caso possa dar uma olhada agradeço,
valeu, mto obrigado pela ajuda 
abraço,
Evandro
No BD criei a tabela Pessoa com os mesmo campos da classe, sem relacionamentos sem nada, só quero conseguir iniciar mesmo, pra depois me aprofundar mais no assunto.
Obrigado até o momento…
amigo, verifiquei agora seus arquivos e notei que seu arquivo Pessoa.hbm.xml não está no mesmo diretório do arquivo fonte Pessoa.java. Eles têm que estar no mesmo diretório para que na hora de fazer o mapeamento dentro do Pessoa.hbm.xml vc nao precise especificar o caminho da classe Pessoa.
Lembre Tambem de fazer as alterações no arquivo Pessoa.hbm.xml para que fique coerente com a classe Pessoa… em anexo vai um arquivo meu de exemplo!
faz o seguinte:
-
Coloque o Pessoa.hml.xml dentro do mesmo diretório do arquivo Pessoa.java;
-
Coloque no seu hibernate.cfg.xml o novo caminho para o arquivo Pessoa.hml.xml (dessa ultima vez que olhei seu arquivo hibernate.cfg.xml estava sem apontar para o Pessoa.hbm.xml);
Espero qu dessa forma funcione… mas sempre ocorrem problemas que não estamos prevendo
é normal no mundo da computação…
Haa, ja ia esquecendo, tire o package lá do arquivo Pessoa.hbm.xml, ok?
o seu arquivo hibernate.cfg.xml eu modifiquei e está em anexo!
Ops…mandei antes o arq errado… em anexo está o certo
vê ai se funciona dessa forma.
[]'s
hehe é Márcio, bem isso no mudno da informática em que vivemos acontece muito isto, eu venho de linguagem desktop, já desenvolvi em php, um pouco de asp, mas to tentando convencer o pessoal da empresa aqui a desenvolver o projeto novo em java, sou eu que vou decidir porém estou me batendo um pouco neste início, estou estudando a viabilidade e eu com certeza quero java, mas tem que dar certo né, antes de colocar o “meu na reta” hehe…
Bom sobre o que vc falou que o Pessoa.hbm.xml não esta no hibernate.cfg.xml é porque quando adicionado pelo plugin do eclipse ele nção adiciona o arquivo ali, não sei d onde ele busca, mas sei que não adiciona, bom fiz o teste aqui adicionado o arquivo na mão mesmo no hibernate.cfg.xml e ele dá que não encontra o arquivo Pessoa.hbm.xml, porém ele está no mesmo diretório, estou anexando como ficou, fiz baseado naquele arquivo que você me mandou.
PELO ECLIPSE
Outro ponto é que daí tirei ele do hibernate.cfg.xml e adicionei via eclipse mesmo, daí não deu mais o erro que estava dando, agora na hora que tentei abrir a opção Session factory deu o seguinte erro:
org.hibernate.cache.CacheException: Attempt to restart an already started EhCacheProvider. Use sessionFactory.close() between repeated calls to buildSessionFactory. Consider using net.sf.ehcache.hibernate.SingletonEhCacheProvider.
Bom já é uma evolução, hehehe, mas estamos evoluíndo… hehe, só não entendi porque quando faço o mapeamente na mão no hibernate.cfg.xml ele não localiza a classe, estou enviando o modo original como fiz para qualquer esclarecimento,
mto obrigado pela atenção é bom ver que existem pessoa como vc no fórum
abraço,
Evandro
[quote=Evandro_Contato]
PELO ECLIPSE
Outro ponto é que daí tirei ele do hibernate.cfg.xml e adicionei via eclipse mesmo, daí não deu mais o erro que estava dando, agora na hora que tentei abrir a opção Session factory deu o seguinte erro:
org.hibernate.cache.CacheException: Attempt to restart an already started EhCacheProvider. Use sessionFactory.close() between repeated calls to buildSessionFactory. Consider using net.sf.ehcache.hibernate.SingletonEhCacheProvider.
Evandro[/quote]
cara estou pegando esse mesmo erro e não consigo resolver, vc conseguiu?
tem alguma ideia do que seja isso?