Erro ao rodar projeto com hibernate

Rodando um sisteminha que estou fazendo juntamente com hibernate, ele gera o erro abaixo:

18:58:15,656  INFO Environment:500 - Hibernate 3.2.1
18:58:15,671  INFO Environment:533 - hibernate.properties not found
18:58:15,671  INFO Environment:667 - Bytecode provider name : cglib
18:58:15,687  INFO Environment:584 - using JDK 1.4 java.sql.Timestamp handling
18:58:15,765  INFO Configuration:1423 - configuring from resource: /hibernate.cfg.xml
18:58:15,765  INFO Configuration:1400 - Configuration resource: /hibernate.cfg.xml
18:58:16,140 DEBUG DTDEntityResolver:38 - trying to resolve system-id [file:///C:/JAVA/Sistemao/hibernate-configuration-3.0.dtd]
18:58:16,250 DEBUG Configuration:1384 - hibernate.dialect=org.hibernate.dialect.MySQLDialect
18:58:16,250 DEBUG Configuration:1384 - hibernate.connection.driver_class=com.mysql.jdbc.Driver
18:58:16,250 DEBUG Configuration:1384 - hibernate.connection.url=jdbc:mysql://localhost/mysql
18:58:16,250 DEBUG Configuration:1384 - hibernate.connection.username=root
18:58:16,250 DEBUG Configuration:1384 - hibernate.connection.password=2000
18:58:16,250 DEBUG Configuration:1384 - hibernate.c3p0.max_size=10
18:58:16,250 DEBUG Configuration:1384 - hibernate.c3p0.min_size=2
18:58:16,250 DEBUG Configuration:1384 - hibernate.c3p0.timeout=5000
18:58:16,250 DEBUG Configuration:1384 - hibernate.c3p0.max_statements=10
18:58:16,250 DEBUG Configuration:1384 - hibernate.c3p0.idle_test_period=3000
18:58:16,250 DEBUG Configuration:1384 - hibernate.c3p0.acquire_increment=2
18:58:16,250 DEBUG Configuration:1384 - show_sql=true
18:58:16,250 DEBUG Configuration:1384 - hibernate.generate_statistics=true
18:58:16,281 DEBUG Configuration:1384 - hibernate.use_sql_comments=true
18:58:16,281 DEBUG Configuration:1583 - null<-org.dom4j.tree.DefaultAttribute@73a34b [Attribute: name resource value "Usuario.hbm.xml"]
18:58:16,281  INFO Configuration:553 - Reading mappings from resource : Usuario.hbm.xml
18:58:16,281 DEBUG DTDEntityResolver:38 - trying to resolve system-id [file:///C:/JAVA/Sistemao/hibernate-mapping-3.0.dtd]
18:58:16,484  INFO HbmBinder:300 - Mapping class: Usuario -> usuario
org.hibernate.InvalidMappingException: Could not parse mapping document from resource Usuario.hbm.xml
        at org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
        at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1584)
        at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1552)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1531)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1505)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
        at com.homedns.fgriep.Sistemao.HibernateUtility.<clinit>(HibernateUtility.java:24)
        at com.homedns.fgriep.Sistemao.Teste.main(Teste.java:21)
Caused by: org.hibernate.MappingException: class Usuario not found while looking for property: usuario_id
        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)
        ... 8 more
Caused by: java.lang.ClassNotFoundException: Usuario
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:100)
        at org.hibernate.util.ReflectHelper.reflectedPropertyClass(ReflectHelper.java:70)
        ... 16 more
Exception in thread "main" java.lang.NullPointerException
        at com.homedns.fgriep.Sistemao.HibernateUtility.getSession(HibernateUtility.java:31)
        at com.homedns.fgriep.Sistemao.Teste.main(Teste.java:21)

Pelo que entendi é que não existe a classe Usuario, mas ela está aqui:

/*
 * Usuario.java
 *
 * Created on 2 de Dezembro de 2006, 17:01
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.homedns.fgriep.Sistemao;

/**
 *
 * @author Griep
 */
public class Usuario {
    
    private Integer usuario_id;
    private String login;
    private String senha;
    private String nome;
    private Boolean ativado;

    public Usuario(){
        
    }
    public Usuario( Integer usuario_id, String login, String senha, String nome, String ativado ) {
        this.setUsuario_Id( usuario_id );
        this.setLogin( login );
        this.setSenha( senha );
        this.setNome( nome );
        this.setAtivado( ativado.equalsIgnoreCase( "S" ) );
    }
    
    public Integer getUsuario_id() {
        return usuario_id;
    }

    public void setUsuario_Id(Integer usuario_id) {
        this.usuario_id = usuario_id;
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public String getNome() {
        return nome;
    }

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

    public Boolean getAtivado() {
        return ativado;
    }

    public void setAtivado(Boolean ativado) {
        this.ativado = ativado;
    }

}

E o seu rbm.xml aqui:

<?xml version="1.0" encoding="UTF-8"?>

<!--
    Document   : Usuario.hmb.xml
    Created on : 2 de Dezembro de 2006, 17:14
    Author     : Griep
    Description:
        Purpose of the document follows.
-->

<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"hibernate-mapping-3.0.dtd">

<hibernate-mapping>
   <class name="Usuario" table="usuario">
       <id name="usuario_id">
            <generator class="increment"/>
        </id>
        <property name="login"/>
        <property name="senha"/>
        <property name="nome"/>
        <property name="nome" type="boolean"/>
    </class>
</hibernate-mapping>

O utilitário do hibernate:

/*
 * HibernateUtility.java
 *
 * Created on 2 de Dezembro de 2006, 17:59
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.homedns.fgriep.Sistemao;

/**
 *
 * @author Griep
 */
//Arquivo HibernateUtility.java
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.Session;
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();
    }
}

E a classe que tem o método main():

/*
 * Teste.java
 *
 * Created on 2 de Dezembro de 2006, 18:01
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.homedns.fgriep.Sistemao;

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

/**
 *
 * @author Griep
 */
public class Teste {
    public static void main(String[] args) {
        Session sessao = HibernateUtility.getSession(); //Abrindo uma sessão
        Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação
        Usuario usuario = new Usuario(); //Instanciando um objeto transiente
        //Preenchendo as propriedades do objeto
        usuario.setLogin("Griep");
        usuario.setSenha("2000");
        usuario.setNome("Felipe Griep");
        sessao.save(usuario); //Transformando o objeto transiente em um objeto persistente no banco de dados
        transaction.commit(); //Finalizando a transação
        sessao.close(); //Fechando a sessão
    }
}

O hibernate.cfg.xml que está aqui:

<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hibernate.connection.driver_class">
            com.mysql.jdbc.Driver
        </property>
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost/mysql
        </property>
        <property name="hibernate.connection.username">
            root
        </property>
        <property name="hibernate.connection.password">
            2000
        </property>
        
        <!-- 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>
        <mapping resource="Usuario.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

E finalmente a tabela no banco MySql:

mysql> describe usuario;
+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| usuario_id | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| login      | varchar(20)      | NO   |     |         |                |
| senha      | varchar(20)      | NO   |     |         |                |
| nome       | varchar(50)      | NO   |     |         |                |
| ativado    | varchar(1)       | YES  |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+
5 rows in set (0.39 sec)

O que deve estar gerando este erro??? Quem pode ajudar-me???

Obrigado!!!

Bem legal… você detalhou bem o problema :wink:

Tente assim:

<hibernate-mapping> <class name="com.homedns.fgriep.Sistemao.Usuario" table="usuario"> <id name="usuario_id"> <generator class="increment"/> </id> <property name="login"/> <property name="senha"/> <property name="nome"/> <property name="nome" type="boolean"/> </class> </hibernate-mapping>

Cara valeu, aquele ajuste funcionou, mas agora o erro é esse:

13:01:24,250  INFO Environment:500 - Hibernate 3.2.1
13:01:24,265  INFO Environment:533 - hibernate.properties not found
13:01:24,281  INFO Environment:667 - Bytecode provider name : cglib
13:01:24,296  INFO Environment:584 - using JDK 1.4 java.sql.Timestamp handling
13:01:24,390  INFO Configuration:1423 - configuring from resource: /hibernate.cfg.xml
13:01:24,390  INFO Configuration:1400 - Configuration resource: /hibernate.cfg.xml
13:01:24,718 DEBUG DTDEntityResolver:38 - trying to resolve system-id [file:///C:/JAVA/Sistemao/hibernate-configuration-3.0.dtd]
13:01:24,796 DEBUG Configuration:1384 - hibernate.dialect=org.hibernate.dialect.MySQLDialect
13:01:24,796 DEBUG Configuration:1384 - hibernate.connection.driver_class=com.mysql.jdbc.Driver
13:01:24,796 DEBUG Configuration:1384 - hibernate.connection.url=jdbc:mysql://localhost/mysql
13:01:24,796 DEBUG Configuration:1384 - hibernate.connection.username=root
13:01:24,796 DEBUG Configuration:1384 - hibernate.connection.password=2000
13:01:24,796 DEBUG Configuration:1384 - hibernate.c3p0.max_size=10
13:01:24,796 DEBUG Configuration:1384 - hibernate.c3p0.min_size=2
13:01:24,812 DEBUG Configuration:1384 - hibernate.c3p0.timeout=5000
13:01:24,812 DEBUG Configuration:1384 - hibernate.c3p0.max_statements=10
13:01:24,812 DEBUG Configuration:1384 - hibernate.c3p0.idle_test_period=3000
13:01:24,812 DEBUG Configuration:1384 - hibernate.c3p0.acquire_increment=2
13:01:24,812 DEBUG Configuration:1384 - show_sql=true
13:01:24,812 DEBUG Configuration:1384 - hibernate.generate_statistics=true
13:01:24,828 DEBUG Configuration:1384 - hibernate.use_sql_comments=true
13:01:24,828 DEBUG Configuration:1583 - null<-org.dom4j.tree.DefaultAttribute@73a34b [Attribute: name resource value "Usuario.hbm.xml"]
13:01:24,828  INFO Configuration:553 - Reading mappings from resource : Usuario.hbm.xml
13:01:24,843 DEBUG DTDEntityResolver:38 - trying to resolve system-id [file:///C:/JAVA/Sistemao/hibernate-mapping-3.0.dtd]
13:01:25,015  INFO HbmBinder:300 - Mapping class: com.homedns.fgriep.Sistemao.Usuario -> usuario
13:01:25,046 DEBUG HbmBinder:1270 - Mapped property: usuario_id -> usuario_id
13:01:25,062 DEBUG HbmBinder:1270 - Mapped property: login -> login
13:01:25,062 DEBUG HbmBinder:1270 - Mapped property: senha -> senha
13:01:25,062 DEBUG HbmBinder:1270 - Mapped property: nome -> nome
13:01:25,062 DEBUG HbmBinder:1270 - Mapped property: nome -> nome
13:01:25,062  INFO Configuration:1538 - Configured SessionFactory: null
13:01:25,062 DEBUG Configuration:1539 - properties: {hibernate.connection.password=2000, java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition, sun.boot.library.path=C:\Program Files\Java\jdk1.5.0_06\jre\bin, java.vm.version=1.5.0_06-b05, hibernate.connection.username=root, java.vm.vendor=Sun Microsystems Inc., java.vendor.url=http://java.sun.com/, path.separator=;, java.vm.name=Java HotSpot(TM) Client VM, file.encoding.pkg=sun.io, user.country=BR, sun.os.patch.level=Service Pack 2, java.vm.specification.name=Java Virtual Machine Specification, user.dir=C:\JAVA\Sistemao, java.runtime.version=1.5.0_06-b05, java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment, hibernate.c3p0.max_statements=10, java.endorsed.dirs=C:\Program Files\Java\jdk1.5.0_06\jre\lib\endorsed, os.arch=x86, java.io.tmpdir=C:\DOCUME~1\Griep\LOCALS~1\Temp\, line.separator=
, java.vm.specification.vendor=Sun Microsystems Inc., user.variant=, os.name=Windows XP, hibernate.c3p0.idle_test_period=3000, sun.jnu.encoding=Cp1252, hibernate.c3p0.timeout=5000, java.library.path=C:\Program Files\Java\jdk1.5.0_06\jre\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;c:\bats;s:\clip52\bin;s:\util;s:\exes;;;C:\Program Files\MySQL\MySQL Server 5.0\bin;, hibernate.generate_statistics=true, java.specification.name=Java Platform API Specification, java.class.version=49.0, sun.management.compiler=HotSpot Client Compiler, os.version=5.1, user.home=C:\Documents and Settings\Griep, user.timezone=America/Sao_Paulo, java.awt.printerjob=sun.awt.windows.WPrinterJob, file.encoding=Cp1252, java.specification.version=1.5, hibernate.c3p0.min_size=2, hibernate.connection.driver_class=com.mysql.jdbc.Driver, show_sql=true, user.name=Griep, java.class.path=C:\JAVA\Sistemao\Libs\antlr-2.7.6.jar;C:\JAVA\Sistemao\Libs\asm-attrs.jar;C:\JAVA\Sistemao\Libs\asm.jar;C:\JAVA\Sistemao\Libs\aspectjrt.jar;C:\JAVA\Sistemao\Libs\aspectjtools.jar;C:\JAVA\Sistemao\Libs\c3p0-0.9.0.jar;C:\JAVA\Sistemao\Libs\cglib-2.1.3.jar;C:\JAVA\Sistemao\Libs\commons-collections-2.1.1.jar;C:\JAVA\Sistemao\Libs\commons-logging-1.0.4.jar;C:\JAVA\Sistemao\Libs\dom4j-1.6.1.jar;C:\JAVA\Sistemao\Libs\ehcache-1.2.3.jar;C:\JAVA\Sistemao\Libs\hibernate3.jar;C:\JAVA\Sistemao\Libs\jdbc2_0-stdext.jar;C:\JAVA\Sistemao\Libs\jta.jar;C:\JAVA\Sistemao\Libs\log4j-1.2.11.jar;C:\JAVA\Sistemao\Libs\mysql-connector-java-5.0.4-bin.jar;C:\JAVA\Sistemao\Libs\xerces-2.6.2.jar;C:\JAVA\Sistemao\Libs\xml-apis.jar;C:\Program Files\netbeans-5.5\platform6\modules\ext\swing-layout-1.0.jar;C:\JAVA\Sistemao\build\classes, hibernate.bytecode.use_reflection_optimizer=false, hibernate.use_sql_comments=true, hibernate.show_sql=true, java.vm.specification.version=1.0, java.home=C:\Program Files\Java\jdk1.5.0_06\jre, sun.arch.data.model=32, hibernate.connection.url=jdbc:mysql://localhost/mysql, hibernate.dialect=org.hibernate.dialect.MySQLDialect, user.language=pt, java.specification.vendor=Sun Microsystems Inc., hibernate.c3p0.max_size=10, awt.toolkit=sun.awt.windows.WToolkit, java.vm.info=mixed mode, java.version=1.5.0_06, java.ext.dirs=C:\Program Files\Java\jdk1.5.0_06\jre\lib\ext, sun.boot.class.path=C:\Program Files\Java\jdk1.5.0_06\jre\lib\rt.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\i18n.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\jce.jar;C:\Program Files\Java\jdk1.5.0_06\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.5.0_06\jre\classes, java.vendor=Sun Microsystems Inc., hibernate.c3p0.acquire_increment=2, file.separator=\, java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi, sun.io.unicode.encoding=UnicodeLittle, sun.cpu.endian=little, sun.desktop=windows, sun.cpu.isalist=}
13:01:25,062 DEBUG Configuration:1282 - Preparing to build session factory with filters : {}
13:01:25,062 DEBUG Configuration:1117 - processing extends queue
13:01:25,078 DEBUG Configuration:1121 - processing collection mappings
13:01:25,078 DEBUG Configuration:1132 - processing native query and ResultSetMapping mappings
13:01:25,078 DEBUG Configuration:1140 - processing association property references
13:01:25,078 DEBUG Configuration:1162 - processing foreign key constraints
org.hibernate.MappingException: Duplicate property mapping of nome found in com.homedns.fgriep.Sistemao.Usuario
        at org.hibernate.mapping.PersistentClass.checkPropertyDuplication(PersistentClass.java:429)
        at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:419)
        at org.hibernate.mapping.RootClass.validate(RootClass.java:192)
        at org.hibernate.cfg.Configuration.validate(Configuration.java:1099)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1284)
        at com.homedns.fgriep.Sistemao.HibernateUtility.<clinit>(HibernateUtility.java:24)
        at com.homedns.fgriep.Sistemao.Teste.main(Teste.java:21)
Exception in thread "main" java.lang.NullPointerException
        at com.homedns.fgriep.Sistemao.HibernateUtility.getSession(HibernateUtility.java:31)
        at com.homedns.fgriep.Sistemao.Teste.main(Teste.java:21)

O que pode ser agora?

Valeu!!!

Cara, valeu!!! Esquece eu consegui identificar… Segue abaixo o conteúdo da tabela:

mysql> select * from usuario;
+------------+-------+-------+--------------+---------+
| usuario_id | login | senha | nome         | ativado |
+------------+-------+-------+--------------+---------+
|          1 | Griep | 2000  | Felipe Griep | NULL    |
+------------+-------+-------+--------------+---------+
1 row in set (0.00 sec)

Assim que eu tiver mais dúvidas eu envio!!!
Valeu!!!

Um abraço.