Org.hibernate.MappingNotFoundException

1 resposta
calel
Estou aprendendo a mexer com o Hibernate e acabei travando nesse erro
Exception in thread "main" org.hibernate.MappingNotFoundException: resource: entidades.Aluno not found
De acordo com o que pesquisei usando anotações nas classes eu não precisaria criar um arquivo xml de mapeamento, então meu código ficou como a seguir: hibernate.cfg.xml
<!DOCTYPE hibernate-configuration
        PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
    	<property name="hibernate.connection.url">jdbc:mysql://localhost/teste</property>
        <property name="hibernate.connection.driver_class">org.mysql.jdbc.Driver</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">rute</property>
		
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>
		
		<property name="hibernate.hbm2ddl.auto">create</property>
		
        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.max_size">20</property>
        <property name="hibernate.c3p0.timeout">180</property>
        <property name="hibernate.c3p0.idle_test_period">100</property>
        
        <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

        <!-- SQL to stdout logging
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="use_sql_comments">true</property>
        -->

        

        <mapping resource="entidades.Aluno"/>
        <mapping resource="entidades.Curso"/>
        <mapping  resource="entidades.Matricula"/>

    </session-factory>
</hibernate-configuration>
Classe Aluno
package entidades;

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

//Essa anotação identifica que essa classe eh uma classe persistente
@Entity
public class Aluno {
	@Id //O atributo abaixo dessa anotação é a chave primaria da tabela
	@GeneratedValue //Essa anotação define q nossa chave primaria eh de auto incremento
	private int id;
	private String nome;
	private int idade;
	
	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;
	}
	public int getIdade() {
		return idade;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
}
Código que executo quando o erro ocorre, de acordo com a video aula estaria criando o banco.
package exec;

import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraBanco {
	
	public static void main(String[] args){
		AnnotationConfiguration configuration = new AnnotationConfiguration();
		configuration.configure();
		SchemaExport se = new SchemaExport(configuration);
		//O primeiro true verifica se desejo executar os comandos no banco e o segundo true mostra o sql gerado
		se.create(true, true);
		System.out.println("Terminou!");
	}
}

Abaixo a estrutura dos arquivos nesse projeto.
[IMG]http://i293.photobucket.com/albums/mm75/Hazeo_Exo/estruturadosarquivos.jpg[/IMG]

Tentei trocar o "." do entidades.Aluno por "/' mas também não funcionou :cry:

1 Resposta

calel

Depois de mais um dia de pesquisas, e uma ajuda do pessoal do JavaRanch.

Modifiquei o mapping das classes. De
# <mapping resource="entidades.Aluno"/>  
#         <mapping resource="entidades.Curso"/>  
#         <mapping  resource="entidades.Matricula"/>
Para
# <mapping class="entidades.Aluno"/>  
#         <mapping class="entidades.Curso"/>  
#         <mapping  class="entidades.Matricula"/>
E acrescentei a linha abaixo no arquivo hibernate.cfg.xml
<property name="current_session_context_class">thread</property>
E acrescentei a biblioteca Logback.

Agora tenho q entender o porque isso fez resolver o problema XD
Mais uma semana pesquisando no minimo =p

Criado 28 de setembro de 2009
Ultima resposta 28 de set. de 2009
Respostas 1
Participantes 1