Erro ao inicializar o Hibernate

Olá, pessoal.

Eu estou tentando criar um sítio eletrônico, usando Hibernate. Porém, ao testar o código e preenchê-lo com os dados obrigatórios (um JSP que chama um servlet), o sistema está falhando ao tentar inicializar o Hibernate, ele nem chega a conectar ao banco do aplicativo (PostgreSQL). Aqui está a transcrição da mensagem de erro recebida:

[i]type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
root cause

java.lang.ExceptionInInitializerError
br.com.ong.Util.HibernateUtil.(HibernateUtil.java:23)
br.com.ong.Servlet.CadastroServlet.processRequest(CadastroServlet.java:31)
br.com.ong.Servlet.CadastroServlet.doPost(CadastroServlet.java:151)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)[/i]

Alguém aqui já recebeu o mesmo erro ao tentar conectar-se ao Hibernate?

Agradeço se puderem me ajudar a entender esse problema. =o)

Oq é que tem aí? br.com.ong.Util.HibernateUtil.(HibernateUtil.java:23)

Olá, Jakefrog.

Aqui está o código do “HibernateUtil.java”:

package br.com.ong.Util;

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

[code]public class HibernateUtil {

private static final SessionFactory sessionFactory;

static {
    try {
        // Create the SessionFactory from standard (hibernate.cfg.xml) 
        // config file.
        sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
    } catch (Throwable ex) {
        // Log the exception. 
        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}

public static SessionFactory getSessionFactory() {
    return sessionFactory;
}

public static void fechar(){  
    getSessionFactory().close();  
}

}[/code]

E aqui está o código do “Conexao.java”, onde incluo a chamada para o “HibernateUtil.java”:

[code]package br.com.ong.conexao;

import br.com.ong.Util.HibernateUtil;
import org.hibernate.Session;

public class Conexao {

private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
    
    //a classe abaixo tem por finalidade retornar uma sessão de comunicação com o banco
public static Session getInstance(){
    Session session = (Session) threadLocal.get();
    session = HibernateUtil.getSessionFactory().openSession();
    threadLocal.set(session);
    return session;
}

}[/code]

Será que o código desses dois está errado?