Boanoite
Galera, tou acompanha o livro Programao Java para web
estou com um problema no exercico de hibernate.
quando eu tento inserir os dados para o banco aparece esses erros
dei uma olhada pelo o que eu entendir o erro esta no mapeamento da classe no xml - hibernate.cfg.xml
que eh exatamente o endereco do meu package mais a classe
com.livro.capitulo3.crudxml
Contato
0 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.5.2-Final
16 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
16 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
16 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
109 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: hibernate.cfg.xml
109 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: hibernate.cfg.xml
Criaçao inicial do objeto SessionFactory falhou. Erro: org.hibernate.MappingNotFoundException: resource: com/livro/capitulo3/crudxml/Contato.hbm.xml not found
Erro ao fechar operaçao de inserçao. Mensagem: null
188 [main] INFO org.hibernate.cfg.Configuration - Reading mappings from resource : com/livro/capitulo3/crudxml/Contato.hbm.xml
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.livro.capitulo3.conexao.HibernateUtil.buildSessionFactory(HibernateUtil.java:18)
at com.livro.capitulo3.conexao.HibernateUtil.<clinit>(HibernateUtil.java:8)
at com.livro.capitulo3.crudxml.ContatoCrudXML.salvar(ContatoCrudXML.java:15)
at com.livro.capitulo3.crudxml.ContatoCrudXML.main(ContatoCrudXML.java:148)
Caused by: org.hibernate.MappingNotFoundException: resource: com/livro/capitulo3/crudxml/Contato.hbm.xml not found
at org.hibernate.cfg.Configuration.addResource(Configuration.java:665)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1679)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1647)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1626)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1600)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1520)
at com.livro.capitulo3.conexao.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
... 3 more
hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- Configuração da conexão com o banco MySQL e dialeto -->
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/agenda</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
<!-- Usando as configurações do C3PO para pool de conexões -->
<property name="c3po.min_size">5</property>
<property name="c3po.max_size">20</property>
<property name="c3po.timeout">300</property>
<property name="c3po.max_statements">50</property>
<property name="c3po.idle_test_period">3000</property>
<!-- Configurações de debug -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="generate_statistics">true</property>
<property name="use_sql_comments">true</property>
<mapping resource="com/livro/capitulo3/crudxml/Contato.hbm.xml"/>
</session-factory>
</hibernate-configuration>
[code]package com.livro.capitulo3.conexao;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
return cfg.buildSessionFactory();
} catch (Throwable e) {
System.out
.println("Criaçao inicial do objeto SessionFactory falhou. Erro: " + e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
package com.livro.capitulo3.conexao;
import org.hibernate.classic.Session;
public class ConectaHibernateMySQL {
public static void main(String[] args) {
Session sessao = null;
try {
sessao = HibernateUtil.getSessionFactory().openSession();
System.out.println("Conectou!!!");
} finally {
sessao.close();
}
}
}