Problema com Hibernate, programa não executa!

3 respostas
M

Opa pessoal, havia criado um tópico a alguns dias, mas surgiu outra dúvida.

Quando coloco essa linha na classe em que quero abrir uma sessão, o programa não executa...

Session session = HibernateUtil.openSession();

A classe HibernateUtil está como segue:

package dbconnection;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.jboss.logging.Logger;

public class HibernateUtil {
	
	private static Logger logger = Logger.getLogger(HibernateUtil.class);
	private static SessionFactory factory;
	
	static {
		AnnotationConfiguration configuration = new AnnotationConfiguration();
		configuration.configure();
		factory = configuration.buildSessionFactory();
	}
	
	public static Session openSession() {
		logger.info("Opening new session...");
		return factory.openSession();
	}

}

Tem algo errado com meu código?

Obrigado pela atenção!

3 Respostas

P
cara fiz uns teste ha alguns tempo atras e fiz assim:
package br.com.boreal;

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

public class HibernateUtil {

  public static final SessionFactory sessionFactory;

  static {
    try {
      Configuration config = new Configuration().configure();
      sessionFactory = config.buildSessionFactory();
    } catch (Throwable ex) {
        javax.swing.JOptionPane.showMessageDialog(null,"Erro na criação da SessionFactory inicial." + ex);
        throw new ExceptionInInitializerError(ex);
    }
  }

  public static final ThreadLocal session = new ThreadLocal();

  public static Session currentSession() throws HibernateException {
    Session s = (Session) session.get();
    
    if (s == null) {
      s = sessionFactory.openSession();
      session.set(s);
    }
    return s;
  }

  public static void closeSession() throws HibernateException {
    Session s = (Session) session.get();
    
    if (s != null)
      s.close();
    session.set(null);
  }
}
M

Opa amigo, obrigado, vou testar do seu modo!

bbmany

Olá Marcus Leite.
Não consigo fazer funcionar também, dá o mesmo erro que o seu.
Não abre a conexão… já testei vários tutoriais e exemplos mas não funciona.
Será que pode ser algum jar?

Criado 29 de janeiro de 2008
Ultima resposta 3 de jun. de 2008
Respostas 3
Participantes 3