Problemas com Hibernate

Pessoal to tentando configurar o hibernate mas não consigo fiz tudo certinho de acordo com um tutorial mas segue o seguinte problema…

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
at org.hibernate.mapping.Table.(Table.java:33)
at org.hibernate.cfg.Mappings.addTable(Mappings.java:165)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:290)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
at br.com.sgdi.hibernate.factory.HibernateFactory.(HibernateFactory.java:22)
at br.com.sgdi.hibernate.teste.Teste.main(Teste.java:12)
Exception in thread “main” java.lang.ExceptionInInitializerError
at br.com.sgdi.hibernate.factory.HibernateFactory.(HibernateFactory.java:25)
at br.com.sgdi.hibernate.teste.Teste.main(Teste.java:12)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/collections/SequencedHashMap
at org.hibernate.mapping.Table.(Table.java:33)
at org.hibernate.cfg.Mappings.addTable(Mappings.java:165)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:290)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
at br.com.sgdi.hibernate.factory.HibernateFactory.(HibernateFactory.java:22)
… 1 more

Codigo

Classe que testa
public class Teste {
public static void main(String[] args) {

	Session session = HibernateFactory.getInstance();
	Transaction tx = session.beginTransaction();
	GrupoProcedimentoBean g = new GrupoProcedimentoBean();
	//g.setGruProId();
	g.setGruProCodigo("cod");
	g.setGruProNome("Nome");
	g.setGruProObs("obs");
	g.setGruProStatus("status");
	session.save(g);
	tx.commit();
}

}

Hibernate Factory

package br.com.sgdi.hibernate.factory;

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

public class HibernateFactory {
// Armazena mapeamentos e configurações do hibernate
private static final SessionFactory sessionFactory;

//Thread que permite que abra um processo para cada pedido e cada um tem um ID próprio
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();



/*
 * Le configuração do xml e retorna um objeto SessionFactory 
 */
static {
	try {
		sessionFactory = new Configuration().configure("br/com/sgdi/hibernate/factory/hibernate.cfg.xml").buildSessionFactory();
	} catch(Throwable t) {
		t.printStackTrace();
		throw new ExceptionInInitializerError(t);
	}
}

/*
 * Retorno de um único objeto de conexão
 */
public static Session getInstance()throws HibernateException{
	Session session = (Session) threadLocal.get();
	session = sessionFactory.openSession();
	threadLocal.set(session);
	return session;
}

}

E ai jovem. Na paz?

Cara… de acordo com o log do erro está faltando o jar do commons-collections. Você baixa ele lá no site da Apache. =]

Espero ter ajudado. Até.

E ai jovem. Na paz?

Cara… de acordo com o log do erro está faltando o jar do commons-collections. Você baixa ele lá no site da Apache. =]

Espero ter ajudado. Até.

Beleza esse problema foi resolvido agora aparece o seguinte…

org.hibernate.InvalidMappingException: Could not parse mapping document from resource br/com/sgdi/bean/grupoProcedimento/GrupoProcedimento.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
at br.com.sgdi.hibernate.factory.HibernateFactory.(HibernateFactory.java:22)
at br.com.sgdi.hibernate.teste.Teste.main(Teste.java:12)
Caused by: org.hibernate.MappingException: class br/com/sgdi/bean/grupoProcedimento/GrupoProcedimentoBean not found while looking for property: gruProId
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:74)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:401)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:334)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
… 7 more
Caused by: java.lang.ClassNotFoundException: br/com/sgdi/bean/grupoProcedimento/GrupoProcedimentoBean
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100)
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:70)
… 15 more
Exception in thread “main” java.lang.ExceptionInInitializerError
at br.com.sgdi.hibernate.factory.HibernateFactory.(HibernateFactory.java:25)
at br.com.sgdi.hibernate.teste.Teste.main(Teste.java:12)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource br/com/sgdi/bean/grupoProcedimento/GrupoProcedimento.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1587)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1555)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1534)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1508)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1428)
at br.com.sgdi.hibernate.factory.HibernateFactory.(HibernateFactory.java:22)
… 1 more
Caused by: org.hibernate.MappingException: class br/com/sgdi/bean/grupoProcedimento/GrupoProcedimentoBean not found while looking for property: gruProId
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:74)
at org.hibernate.mapping.SimpleValue.setTypeUsingReflection(SimpleValue.java:276)
at org.hibernate.cfg.HbmBinder.bindSimpleId(HbmBinder.java:401)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:334)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)
… 7 more
Caused by: java.lang.ClassNotFoundException: br/com/sgdi/bean/grupoProcedimento/GrupoProcedimentoBean
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100)
at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:70)
… 15 more

Segue abaixo o grupoProcedimento.hbm que acredito eu que seja o problema

<?xml version="1.0" encoding="UTF-8"?>
	<!--   Relacionamento com a tabela unidade  recebe unidId-->
	
	<property name="gruProCodigo" />
	<property name="gruProNome" />
	<property name="gruProObs" />
	<property name="origObs" />
	<property name="gruProStatus" />
</class>

Obs os nomes estao = o do bean e do banco…

[quote]
Caused by: java.lang.ClassNotFoundException: br/com/sgdi/bean/grupoProcedimento/GrupoProcedimentoBean
at java.lang.Class.forName0(Native Method) [/quote]

Esta parte do log sugere que ele não está encontrando sua entidade GrupoProcedimentoBean. Dá uma conferida se o caminho da classe (br/com/sgdi/bean/grupoProcedimento/GrupoProcedimentoBean) está correto. Se estiver, verifica se ela foi compilada, vai lá no WEB-INF/classes e verifica se existe o .class para esta classe.

É quase certo que uma destas duas é a causa! =]

então eu ja havia verificado isso…
mas la ta certinho compilado o caminho correto
não sei o pq de acontecer isso
:frowning:

então,

 Caused by: java.lang.ClassNotFoundException: br/com/sgdi/bean/grupoProcedimento/GrupoProcedimentoBean 

ele não consegui encontrar esse cara ai…

post seu cfg ai …

[code]

org.hibernate.dialect.PostgreSQLDialect org.postgresql.Driver postgres postgres
<!-- Condiguração do c3p0 -->

<property name="hibernate.c3p0.max_size">10</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">5000</property>
<property name="hibernate.c3p0.max_statements">10</property>
<property name="hibernate.c3p0.idle_test_period">3000</property>
<property name="hibernate.c3p0.acquire_increment">2</property>

<!-- Configurações de debug -->
<property name="show_sql">true</property>
<property name="hibernate.generate_statistics">true</property>
<property name="hibernate.use_sql_comments">true</property>

<!-- Mapeamento -->
<property name="connection.driver_class"></property>
<mapping resource="br/com/sgdi/bean/grupoProcedimento/GrupoProcedimento.hbm.xml" />
<mapping resource="br/com/sgdi/bean/origem/Origem.hbm.xml" />
<mapping resource="br/com/sgdi/bean/procedimento/Procedimento.hbm.xml" />
<mapping resource="br/com/sgdi/bean/profissional/Profissional.hbm.xml" />
<mapping resource="br/com/sgdi/bean/regional/Regional.hbm.xml" />
<mapping resource="br/com/sgdi/bean/rotina/Rotina.hbm.xml" />
<mapping resource="br/com/sgdi/bean/sala/Sala.hbm.xml" />
<mapping resource="br/com/sgdi/bean/tipoPedido/TipoPedido.hbm.xml" />
<mapping resource="br/com/sgdi/bean/unidade/Unidade.hbm.xml" />

[/code]

Cara… sua classe tem este “Bean” no final mesmo?!

Tente verificar também se sua classe implementa direta ou indiretamente “Serializable”.