Galera nem sei se postei na sessão certa do forum, sou iniciante, mas to com sede de aprender, estou tentando fazer um tutorial de hibernate aqui do Guj mesmo. Introdução_hibernate3_guj arquivo em pdf do Mauricio Linhares, fiz tudinho (pelo menos acho que fiz, rssss) como manda o tutorial, mas quando vou rodar o teste para ver se ta tudo ok, gera altas excessões:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.HibernateException: /hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1402)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1424)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
at persistencia.HibernateUtility.(HibernateUtility.java:10)
at persistencia.Teste.main(Teste.java:6)
Exception in thread “main” java.lang.NullPointerException
at persistencia.HibernateUtility.getSession(HibernateUtility.java:17)
at persistencia.Teste.main(Teste.java:6)
Aqui esta o meu hibernate.cfg.xml: Deixei ele na classpath da minha aplicação, package persistencia.
public class Teste {
public static void main(String[] args) {
Session sessao = HibernateUtility.getSession(); //Abrindo uma sessão
Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação
Curso curso = new Curso(); //Instanciando um objeto transiente
curso.setNome(“Desenvolvimento de Software”); //Preenchendo as propriedades do objeto
curso.setDescricao(“Curso só pra programadores”);
sessao.save(curso); //Transformando o objeto transiente em um objeto
//persistente no banco de dados
transaction.commit(); //Finalizando a transação
sessao.close(); //Fechando a sessão
}
}
[quote=luis.soares]O seu arquivo hibernate.cfg.xml deve estar no diretório src do seu projeto, onde ficam as suas classes, no diretório raiz de src.
Abraço.[/quote]
Obrigado amigo, mas o hibernate.cfg.xml, já esta no package onde estão as minhas classes. Na imagem que eu coloquei da para ver isso, esse arquivo daqui a pouco vai estar em todas as pastas do meu pc. kkkkkk
Coloquei o arguivo no diretório raiz do meu projeto e tambem não funcionou.
[quote=luis.soares]Coloque seu arquivo em WEB-INF/classes.
[/quote]
Eita amigo, agora o negocio ficou feio, pro hibernate rodar precisa do Tomcat? pq no eclipse e nem no diretorio do hibernate não tem nenhuma pasta web-inf. No tutorial não fala nada sobre o hibernate precisar do tomcat.
Para mim era só colocar as bibiotecas no meu projeto, assim como o tutorial falou e mandar ver.
Me desculpe, imaginei que fosse um projeto Web. O Hibernate não depende do Tomcat não.
Você só precisa colocar o seu hibernate.cfg-xml no diretório de src mesmo.
Cara, tem uma apostila muito boa da caelum, free neste link : http://www.caelum.com.br/caelum/apostila/caelum-java-web-fj21.pdf. Tem um passo a passo bem didático de uso do hibernate, básico, e tem isso que você precisa.
Eu usei este passo a passo e não tive nenhum problema. Deve estar faltando algum detalhe no seu projeto.
Dá uma olhada !!
então pelo que pude notar o seu arquivo hibernate.cfg.xml está dentro do pacote persistencia, você deve tirar ele e colocá-lo no nível maior antes de qq pacote seu, logo após o src…
[quote=alberto_ribeiro]então pelo que pude notar o seu arquivo hibernate.cfg.xml está dentro do pacote persistencia, você deve tirar ele e colocá-lo no nível maior antes de qq pacote seu, logo após o src…
exemplo
NomeDoSeuProjeto/SourceFolder/hibernate.cfg.xml
[]'s
Espero ter ajudado…[/quote]
Valeu brother mas deu não, eu tenho o meu workspace, colquei na pasta workspace, na pasta rafael (meu projeto), coloquei na pasta persistência e nada. Coloquei no c:\eclipse na pasta do hibernate e nada.
[quote=alberto_ribeiro]xiiii num sei q está acontecendo mais eu uso o hibernate no eclipse faz um tempo e sempre da certo…
boa sorte
cara consegui achar essa imagem, agora vc consegue ver onde colocar o arquivo… não é dentro de pacote nenhum e sim no nível da sua source folder…
[]'s
[/quote]
Amigo mudou o erro agora, ta assim:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1491)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
at persistencia.HibernateUtility.(HibernateUtility.java:10)
at persistencia.Teste.main(Teste.java:6)
Caused by: org.dom4j.DocumentException: Invalid byte 2 of 3-byte UTF-8 sequence. Nested exception: Invalid byte 2 of 3-byte UTF-8 sequence.
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1481)
… 4 more
Exception in thread “main” java.lang.NullPointerException
at persistencia.HibernateUtility.getSession(HibernateUtility.java:17)
at persistencia.Teste.main(Teste.java:6)
To vendo que estou tentando fazer algo alem do que eu já aprendi, melhor estudar mais. Valeu ae pela força!!!