Hibernate - Exception

5 respostas
R

Olá,

Estou começando uma aplicação Hibernate, mas está ocorrendo esta exception: java.lang.reflect.InvocationTargetException

A causa dela é esta: Caused by: java.lang.NoClassDefFoundError: Could not initialize class br.com.hibernate.HibernateUtility

A linha que deu origem ao erro: Session sessao = HibernateUtility.getSession(); //Abrindo sessao

Fonte da Classe HibernateUtility:

package br.com.hibernate;

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();
    }
    
    
}

Alguém pode me ajudar? Por que esta ocorrendo este erro?

5 Respostas

henriquedamota

Opa, blz ?

entao eu num sou um especialista de Hibernate… comecei a usar a pouco tempo… Só que estou usando com annotations… vou colocar o codigo aqui da minha classe HibernateUtil ai ce da uma olhada… mas ta bem parecido…

package br.hibernate.utilitarios;

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

import br.modelo.Atributos2Nivel;
import br.modelo.Bicho;

public class HibernateUtil {
	
	private static SessionFactory factory;
	
	static{
		//cria configuracao para as classes 
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.addAnnotatedClass(Bicho.class);
		
		factory = cfg.buildSessionFactory();	
	}
	
	public static Session getSession(){
		return factory.openSession();
	}
}

A diferença é que eu crio ja aqui a configuração da minha classe… no seu caso deve ser la no xml…

Flw abraços !

_fs

Está faltando algum jar no classpath da aplicação. Veja a exceção “NoClassDef…” e descubra qual jar é.

R

Realmente esse erro era um jar que estava faltando, nem tinha percebido que o NoClassDef mostrava a classe.
Obrigado

R

Agora em relação ao código acima eu tenho mais uma dúvida…

Como funciona o static { […] }

Nunca ve esse tipo de declaração antes, quando e como o código dentro desse bloco será chamado?

Se der pra colocar algum exemplo bem básico demonstrando essa chamada…

J2Alex

Um bloco static é automaticamente executado quando a classe é carregada pela primeira vez pelo classloader.

Criado 28 de setembro de 2007
Ultima resposta 1 de out. de 2007
Respostas 5
Participantes 4