Falha no Hibernate

Pessoal já faz uns 6 meses que venho tentanto utilixar esse framework, puxa vida e até agora não consegui, eu já li vários tutoriais, formatei o meu pc e reinstalei tudo e não roda, mas como sou brasileiro e não desisto nunca venho aqui pedir à ajuda de vocês.
Estou seguindo um tutorial da revista SQLMagazine, ed.36, fiz tudo conforme o indicado no tutorial, mas quando executo o meu projeto ele não roda, informando que não conseguiu encontrar o hibernate.cfg.xml, ou seja ele apresenta este erro :

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “AWT-EventQueue-0” java.lang.ExceptionInInitializerError
at utils.ConnectDB.(ConnectDB.java:43)
at dao.FreteHibernateDAO.consultarTabela(FreteHibernateDAO.java:46)
at gui.JanelaCadastrarFrete.initComponents(JanelaCadastrarFrete.java:60)
at gui.JanelaCadastrarFrete.(JanelaCadastrarFrete.java:27)
at gui.JanelaCadastrarFrete$2.run(JanelaCadastrarFrete.java:168)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: 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:1405)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1427)
at utils.ConnectDB.(ConnectDB.java:38)
… 11 more

Segui toda a estrutura de pacotes do turorial (a imagem da estrutura do projeto segue em arquivo anexo).

Pessoal pelo amor de deus, alguém pode me ajudar, pq honestamente já estou pensando em desistir de usar esse framework, pois faço tudo exatamente como os tutoriais e nunca dá certo.

Abraços a todos._

tem como enviar o código de algum dao?

Tem sim :

package dao;

import entity.*;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import utils.ConnectDB;

/**
*

  • @author AnderLine
    */
    public class FreteHibernateDAO {

    private Session session;

    public void salvar(Frete frete){

     session = ConnectDB.getInstance();
     Transaction tx = null;
     
     try{
         tx = session.beginTransaction();
         session.save(frete);
         tx.commit();
     }
     catch(HibernateException e){
         e.printStackTrace();
     }
     finally{
         session.close();
     }
    

    }

    public List consultarTabela(String entityName){
    session = ConnectDB.getInstance();
    List list = session.createQuery("from " + entityName).list();
    return list;
    }
    public Cliente consultarCliente(int codigo){
    session = ConnectDB.getInstance();
    Cliente cliente = (Cliente)session.createQuery("from " +
    "Cliente where codigo_cliente = " + codigo).uniqueResult();
    return cliente;
    }

    public Cidade consultarCidade(int codigo){
    session = ConnectDB.getInstance();
    Cidade cidade = (Cidade)session.createQuery("from " +
    "Cidade where codigo_cidade = " + codigo).uniqueResult();
    return cidade;

    }
    }

Esta é a classe que cria a session com o hibernate :

package utils;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;

/**
*

  • @author AnderLine

*/
public class ConnectDB {

private static final SessionFactory sessionFactory;
private static final ThreadLocal<Session> threadLocal = 
        new ThreadLocal<Session>();


static {

    try{
        
        Configuration configuration =  new AnnotationConfiguration();
        configuration.configure("hibernate.cfg.xml");
        
        sessionFactory = configuration.buildSessionFactory();
        
    }
    catch(Throwable t){
        throw new ExceptionInInitializerError(t);
    }
}
    public static Session getInstance(){
        Session session = (Session) threadLocal.get();
        session = sessionFactory.openSession();
        threadLocal.set(session);
        return session;
    }
}

Mas oque me deixa intrigado é o fato do hibernate não achar o hibernate.cfg.xml, eu já deixe esse arquivo em todos os diretórios possiveis e ele nunca acha, mesmo quando eu passo o path para este arquivo.

Anderline,
me parece que vc está com um simples problema de classpath.
Seu hibernate.cfg.xml está em um lugar bastante extranho.

Está usando o Eclipse ?

Qdo for executar sua classe de teste, ao invés de clicar no menu “Run”, clique no “Run…”. vai abrir uma janela.
Nessa janela tem uma tab com nome “ClassPath”. Põe alí o diretório onde está seu hibernate.cfg.xml (de preferencia… olhe no tutorial um lugar melhor para colocar esse arquivo).

Diz aí se mudou o erro.

Então Allan eu estou usando o netbeans 5.5, o hibernate.cfg.xml eu coloquei onde o tutorial da revista indicou, ou seja no default package.
Você alguma maneira de resolver este problema no netbeans ?.

Bom eu mudei o local do hibernate.cfg.xml, agora ele ele está no diretório build criado pelo netbeans quando nós mandamos executar o projeto, finalmente a aplicação agora está encontrando ele, mas agora está apresentando este erro quando eu executo a operação :

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread “AWT-EventQueue-0” java.lang.ExceptionInInitializerError
at utils.ConnectDB.(ConnectDB.java:45)
at dao.FreteHibernateDAO.consultarTabela(FreteHibernateDAO.java:46)
at gui.JanelaCadastrarFrete.initComponents(JanelaCadastrarFrete.java:60)
at gui.JanelaCadastrarFrete.(JanelaCadastrarFrete.java:27)
at gui.JanelaCadastrarFrete$2.run(JanelaCadastrarFrete.java:168)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Caused by: org.hibernate.HibernateException: Could not parse configuration: hibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1494)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
at utils.ConnectDB.(ConnectDB.java:39)
… 11 more
Caused by: org.dom4j.DocumentException: Error on line 1 of document : The encoding declaration is required in the text declaration. Nested exception: The encoding declaration is required in the text declaration.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1484)
… 13 more
EXECUTADO COM SUCESSO (tempo total: 2 segundos)

Oque será que pode ser ?.
Estou mandando em anexo o projeto todo.