Apanhando do hibernate me ajudem!

11 respostas
E

Pessoal ja faz uma semana que to tentando rodar meu projeto mais sempre da erro.

Agora do nada ele ta tando o seguinte erro:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
	at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
	at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:151)
	at br.com.estoquecontrole.persistencia.FabricaConexao.getSession(FabricaConexao.java:16)
	at br.com.estoquecontrole.persistencia.FornecedorDAO.<init>(FornecedorDAO.java:18)
	at br.com.estoquecontrole.negocio.Main.main(Main.java:15)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	... 5 more

agora vou mostrar os jar que eu add no meu projeto do Hibernate

hibernate-annotations-3.4.0.GA - > lib (adcionei todos esse jar desta pasta)

hibernate-distribution-3.3.2.GA - >lib - > required ( adicioneu todos os jars desta pasta)

são soh esses jars para configurar o hibernate não é?

por favor pessoal me ajudem?

11 Respostas

B
Pela exceção está faltando algum jar....Da uma olhada:

http://www.findjar.com/index.x?query=org.slf4j.impl.StaticLoggerBinder

Como está começando a trabalhar com o hibernate adicione todos os jars que vem com ele no seu class-path e depois teste novamente...

Pela exceção está faltando algum jar…Da uma olhada:

http://www.findjar.com/index.x?query=org.slf4j.impl.StaticLoggerBinder

Como está começando a trabalhar com o hibernate adicione todos os jars que vem com ele no seu class-path e depois teste novamente…

E

Amigo abrigado por responder, coloquei todos os jar , desse tres arquivos que baixei

hibernate-distribution-3.3.2.GA

hibernate-annotations-3.4.0.GA

slf4j-1.5.8

e continua dando o mesmo erro

agora esse link que vc me mandou não sei qual eu baixo pois tem varias opões

obrigado

E

desculpa nao esta dando o mesmo erro não esta dando o seguitne erro:

Exception in thread main java.lang.NoSuchFieldError: name

at org.slf4j.impl.SimpleLogger.(SimpleLogger.java:83)

at org.slf4j.impl.SimpleLoggerFactory.getLogger(SimpleLoggerFactory.java:67)

at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:103)

at org.hibernate.cfg.Configuration.(Configuration.java:151)

at br.com.estoquecontrole.persistencia.FabricaConexao.getSession(FabricaConexao.java:16)

at br.com.estoquecontrole.persistencia.FornecedorDAO.(FornecedorDAO.java:18)

at br.com.estoquecontrole.negocio.Main.main(Main.java:15)
j0nny

Vc possui algum atributo ou anotação em Fornecedor chamado name?

E

Nao

Olha minha classe Fornecedor

package br.com.estoquecontrole.negocio;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity

public class Fornecedor  {
	
	@Id
	@GeneratedValue
	private int id;
	private String nome;
	

	public Fornecedor() {
	}

	public Fornecedor(String nome) {
		this.nome = nome;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}


	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

}
B

Você poderia ter baixado qualquer uma delas…

Não existe o atributo name… Poste seu FornecedorDAO e a classe que o chama tbm…

E

MINHA CLASSE que fabrica conexao

package br.com.estoquecontrole.persistencia;

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

import br.com.estoquecontrole.negocio.Fornecedor;



public class FabricaConexao {

	private static SessionFactory factory;
	
	public static Session getSession(){
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.addAnnotatedClass(Fornecedor.class);
		factory = cfg.buildSessionFactory();
		return factory.openSession();
	}
	
}

Minha classe FornecedorDAO

package br.com.estoquecontrole.persistencia;

import java.util.List;

import javax.swing.JOptionPane;

import org.hibernate.Session;
import org.hibernate.Transaction;

import br.com.estoquecontrole.negocio.Fornecedor;



public class FornecedorDAO implements DAO<Fornecedor> {
	private Session session;
	
	public FornecedorDAO(){
		session = FabricaConexao.getSession();
	}
	
	
	@Override
	public void save(Fornecedor obj) {  
		Transaction transaction = session.beginTransaction();   
    	try{   
    		session.save(obj);
			transaction.commit();
		}catch( Exception e ){   
			JOptionPane.showConfirmDialog( null,"Erro ao salvar " + e.getMessage());
			transaction.rollback();   
		}         

	}
	
	
	@Override
	public void delete(Fornecedor obj) {
		Transaction transaction = session.beginTransaction();   
    	try{   
    		session.delete(obj);
			transaction.commit();
		}catch( Exception e ){   
			JOptionPane.showConfirmDialog( null,"Erro ao apagar");
			transaction.rollback();   
		}       
	}


	@Override
	public List<Fornecedor> read(){
		return session.createCriteria(Fornecedor.class).list();
	}
}

Minha classe main para testar

package br.com.estoquecontrole.negocio;

import java.util.List;

import br.com.estoquecontrole.persistencia.FornecedorDAO;



public class Main {


	public static void main(String[] args) {
		Fornecedor f      = new Fornecedor("Hotel 000000000002");

		FornecedorDAO dao = new FornecedorDAO();
		dao.save(f);


	}

}

nao tem nada de “name” nas minha classes

B

Erick, suas classes estão todas corretas…

Está mais para problema de jars mesmo, subindo na stacktrace do seu FornecedorDAO para sua classe FabricaConexao dá para ver que o erro está na instância de AnnotationConfiguration…

Dá uma olhada em problemas parecidos com o seu:

https://forums.hibernate.org/viewtopic.php?p=2293313&sid=98a64a4aa4f86eb3003f416b655e67b4
http://www.guj.com.br/posts/list/86565.java

E

Então breno eu ja li tudo e não consegui resolver, e até deletei meu projeto e fiz um novo adcionei todos os jars dos seguintes arquivos

hibernate-distribution-3.3.2.GA

hibernate-annotations-3.4.0.GA

slf4j-1.5.8
e esta dando o mesmo erro como eu sou iniciante e desenvolvimento em Java, e tenho uma grande dificuldade de achar esses erros

E

Pessoal responde aii??

B

Opa,

Você tem razão, erros assim são meio chatos de se encontrar, por isso prefiro trabalhar em um abiente cliente/servidor…
Só de baixar um container JEE vc ganha o hibernate e seus jars de “brinde” … :slight_smile:

Mas tenta seguir a dica do nosso colega que te passei o link:

http://www.guj.com.br/posts/list/86565.java

Usar Hibernate Annotations 3.3.1 com Hibernate 3.2.6 …

Boa sorte aí…

Criado 26 de março de 2010
Ultima resposta 26 de mar. de 2010
Respostas 11
Participantes 3