Hibernate - Problemas na configuração

12 respostas
Rapapel

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.

org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql://localhost/faculdade?autoReconnect=true root root 10 2 5000 10 3000 2 true true true

Aqui esta a classe para abrir a conexão:

package persistencia;

//Arquivo HibernateUtility.java

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

public class HibernateUtility {

private static SessionFactory factory;

static {

try {

factory = new Configuration().configure().buildSessionFactory();

}catch (Exception e) {

e.printStackTrace();

factory = null;

}

}

public static Session getSession() {

return factory.openSession();

}

}

e aqui a classe Teste:

package persistencia;
import org.hibernate.*;

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  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

}

}

Alguem pode dar uma ajuda?

Moderador foi mal se eu postei na sessão errada.

Obrigado a todos.
Valeu


12 Respostas

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.

Rapapel

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.

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.

Abraço

luis.soares

Coloque seu arquivo em WEB-INF/classes.

Rapapel

luis.soares:
Coloque seu arquivo em WEB-INF/classes.

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.

Novamente obrigado.

Mais alguma dica?

luis.soares

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 !!

Abraço.

luis.soares

Complementando, essa apostila tem vários assuntos, um deles é o hibernate !

Rapapel

Dei uma lida no indice da apostila, muito boa mesmo. Valeu Brother vou tentar aqui.

Abraço

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…

Rapapel

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…

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.

Mas valeu a tentativa.
Hibernate FiDaMãe! rssssss

Abraço

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

Rapapel

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

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!!!

Abraço!

alberto_ribeiro

cara confere seu arquivo cfg.xml ve se não tem nada de errado com ele, está com cara de ser algum erro de digitação…

ve se você incluiu todos os jar’s e o Log4j.jar também…

se conseguir posta aqui pra gente saber…

[]'s

Criado 30 de novembro de 2006
Ultima resposta 1 de dez. de 2006
Respostas 12
Participantes 3