Erro em tentativa de Persistência usando hibernate

6 respostas
Norivan

Bom dia a todos,

Sou novato em Jav, estou tentando usar o hibernate para realizar uma persistência com o banco.
Estou usando o eclipse e importei os JAR'S do hibernate para lib do projeto, ao que me pareceu corretamente.

Seguindo um tutorial estou tentando criar um insert no banco, o eclipse não soltou nenhum erro nem alerta, mas ocorre um erro que não estou conseguindo entender quando vou executar, segue:

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.(LoggerFactory.java:60)
at org.hibernate.cfg.Configuration.(Configuration.java:151)
at socket.ServidorDAO.(ServidorDAO.java:15)
at socket.TestePersistencia.main(TestePersistencia.java:13)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
at java.net.URLClassLoader$1.run(Unknown Source)
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)
... 4 more

TestePersistencia
try   
	     {   
	       Tarefas tarefa = new Tarefas();   
	      tarefa.SetIdentificador("copiar");   
	      tarefa.SetCodigoFonte("copy c:/teste.txt e:");   
	           
	      ServidorDAO sql = new ServidorDAO();   // linha 13
	       sql.insert(tarefa);   
	 
	 
	      }   
	      catch(Exception e)   
	      {      
	        e.printStackTrace();   
	     }
ServidorDAO
public ServidorDAO() throws Exception {
		factory = new Configuration().addClass(Servidor.class)
				.buildSessionFactory(); // linha 15
	}

Alguém poderia me dizer o que quer dizer este erro?

Desde já agradeço,

6 Respostas

rafaelglauber

Oi,

Dois dias de Java e já tá no Hibernate? Interessante…

Seu problema é a falta de um jar…olha o resultado da classe no FindJar: http://findjar.com/class/org/slf4j/impl/StaticLoggerBinder.html

baixe o jar adequado, coloque no ClassPath e pronto, este erro não mais acontecerá.

Sempre que ver algo como:

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

foi por que não foi localizado em seu ClassPath a classe apontada no Log, ok?

Norivan

Obrigado, valeu pela dica…

Adicionei o caminho do .jar do logj as variáveis de ambiente e também copiei ele para o projeto adicionando o JAR…


Mas não querendo abusar mas já abusando, ele me retornou outro erro

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.

Pelo que entendi o log4j não foi inicializado corretamente… imagino então que não tenha instalado ele direito, qual o procedimento correto que devo seguir?

ddduran

agora ele ta dando um WARN por que está sem o log4j.properties com as configurações para o log4j funcionar tranquilamente

http://hotwork.sourceforge.net/hotwork/manual/log4j/log4j-user-guide.html

Norivan

Obrigado, já até tinha esse arquivo no projeto só que estava dentro do pacote socket, passei para raiz e parece que funcionou… voltou um outro erro agora no arquivo xml aqui, mas esse eu vou tentar resolver aqui…

Valeu mesmo

BrenoSalgado

opa, desculpa desvirtuar um pouco o tópico, mas teria como vc me passar o link desse tutorial também?

Norivan

Sim, o link é: http://www.javafree.org/javabb/viewtopic.jbb?t=3721

to apanhando igual doido aqui…

Resolvi o problema do xml, oó que agora está me dando outro erro que parece ser mais dificil de resolver

Ele não acha esse metodo… encontrei esse link http://www.slf4j.org/pipermail/dev/2007-December/001238.html relatando sobre um bug com relação a este erro, só que o bug é na versão 1.2.12 eu estou com a 1.2.25

O que pode ser?

Abaixo o tracert completo:<blockquote>2008-09-12 16:30:19,703 INFO  hibernate.cfg.Environment  -> Hibernate 3.3.1.GA

2008-09-12 16:30:19,703 INFO  hibernate.cfg.Environment  -> loaded properties from resource hibernate.properties: {hibernate.connection.username=root  , hibernate.connection.password=****, hibernate.dialect=org.hibernate.dialect.MySQLDialect  , hibernate.connection.url=jdbc:mysql://localhost:3306/itmanager  , hibernate.bytecode.use_reflection_optimizer=false, hibernate.connection.driver_class=org.gjt.mm.mysql.Driver  }

2008-09-12 16:30:19,718 INFO  hibernate.cfg.Environment  -> Bytecode provider name : javassist

2008-09-12 16:30:19,718 INFO  hibernate.cfg.Environment  -> using JDK 1.4 java.sql.Timestamp handling

2008-09-12 16:30:19,796 INFO  hibernate.cfg.Configuration  -> Reading mappings from resource: socket/Servidor.hbm.xml

2008-09-12 16:30:19,796 INFO  hibernate.cfg.Configuration  -> Reading mappings from resource: socket/Servidor.hbm.xml

2008-09-12 16:30:19,875 DEBUG hibernate.util.DTDEntityResolver  -> trying to resolve system-id [<a href="http://hibernate.sourceforge.net/hibernate-mapping.dtd">http://hibernate.sourceforge.net/hibernate-mapping.dtd</a>]

2008-09-12 16:30:19,875 DEBUG hibernate.util.DTDEntityResolver  -> recognized hibernate namespace; attempting to resolve on classpath under org/hibernate/

2008-09-12 16:30:19,875 DEBUG hibernate.util.DTDEntityResolver  -> unable to locate [<a href="http://hibernate.sourceforge.net/hibernate-mapping.dtd">http://hibernate.sourceforge.net/hibernate-mapping.dtd</a>] on classpath

2008-09-12 16:30:21,187 INFO  hibernate.cfg.HbmBinder  -> Mapping class: Servidor -> script

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.HbmBinder  -> Mapped property: id_script -> id_script

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.HbmBinder  -> Mapped property: identificador -> identificador

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.HbmBinder  -> Mapped property: cd_fonte -> cd_fonte

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.Configuration  -> Preparing to build session factory with filters : {}

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.Configuration  -> processing extends queue

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.Configuration  -> processing collection mappings

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.Configuration  -> processing native query and ResultSetMapping mappings

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.Configuration  -> processing association property references

2008-09-12 16:30:21,203 DEBUG hibernate.cfg.Configuration  -> processing foreign key constraints

Exception in thread main java.lang.AbstractMethodError: org.apache.log4j.Logger.isTraceEnabled()Z

at org.hibernate.type.NullableType.(NullableType.java:59)

at org.hibernate.Hibernate.(Hibernate.java:103)

at org.hibernate.type.TypeFactory.(TypeFactory.java:69)

at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:283)

at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:276)

at org.hibernate.mapping.Property.isValid(Property.java:207)

at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:458)

at org.hibernate.mapping.RootClass.validate(RootClass.java:215)

at org.hibernate.cfg.Configuration.validate(Configuration.java:1135)

at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1320)

at socket.ServidorDAO.(ServidorDAO.java:15)

at socket.TestePersistencia.main(TestePersistencia.java:13)

</blockquote>
Criado 12 de setembro de 2008
Ultima resposta 12 de set. de 2008
Respostas 6
Participantes 4