Aprendendo Hibernate

Olá pessoal.
Não sei se é aqui que tenho que postar isto, mas vai lá…

Estou aprendendo java e hibernate usando uma apostila que encontrei na própria página da GUJ sobre Hibernate 3. Mas quando tento executar o teste está dando o seguinte erro:

Exception in thread “main” java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.hibernate.cfg.Configuration.(Configuration.java:128)
at Hibernacao.HibernateUtility.(HibernateUtility.java:15)
at Hibernacao.Teste.main(Teste.java:9)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
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)
… 3 more

Não estou conseguindo encontrar o que é, se alguém conseguir me ajudar.
Tentei conectar direto pelo java e funcionou, mas com o hibernate não.

se ajudar, este é meu arquivo hibernate.cfg.xml:

<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/hibernacao?autoReconnect=true
	</property>
	<property name="hibernate.connection.username">
		root
	</property>
	<property name="hibernate.connection.password">
		1
	</property>
	
	<!-- Configuraçã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_teste_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="Endereco.hbm.xml"/>
	<mapping resource="Pessoa.hbm.xml"/>
	
</session-factory>

Esta classe “org/slf4j/LoggerFactory” deveria estar no seu classpath, e provavelmente não está, pois o erro reclama disso.

Verifique se ela pertence a algum .jar e coloque esse jar no seu classpath (a pasta lib do seu projeto, por exemplo).

O problema estava que dentro do Hibernate eu tenho lib/required e la tem alguns .jar que preciso.
Mas mesmo colocando todos, ainda está dando o seguinte 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:128)
at Hibernacao.HibernateUtility.(HibernateUtility.java:15)
at Hibernacao.Teste.main(Teste.java:9)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
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

[quote=Link que estava na mensagem de erro que deverias ter lido - http://www.slf4j.org/codes.html#StaticLoggerBinder]Failed to load class org.slf4j.impl.StaticLoggerBinder

This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. This happens when no appropriate SLF4J binding could be found on the class path. Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem. [/quote]

Até!

Coloquei todos os jars como especificado em:
http://www.slf4j.org/codes.html#StaticLoggerBinder
e ainda está dando o seguinte erro:

Exception in thread “main” java.lang.NoClassDefFoundError: ch/qos/logback/core/ContextBase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(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)
at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:30)
at org.slf4j.impl.StaticLoggerBinder.(StaticLoggerBinder.java:21)
at org.slf4j.LoggerFactory.(LoggerFactory.java:60)
at org.hibernate.cfg.Configuration.(Configuration.java:128)
at Hibernacao.HibernateUtility.(HibernateUtility.java:15)
at Hibernacao.Teste.main(Teste.java:9)
Caused by: java.lang.ClassNotFoundException: ch.qos.logback.core.ContextBase
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)
… 18 more

Deixei apenas alguns .jar da lista agora e dando este erro:

29/06/2008 18:45:31 org.hibernate.cfg.Environment
INFO: Hibernate 3.3.0.CR1
29/06/2008 18:45:32 org.hibernate.cfg.Environment
INFO: hibernate.properties not found
29/06/2008 18:45:32 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
29/06/2008 18:45:32 org.hibernate.cfg.Environment
INFO: using JDK 1.4 java.sql.Timestamp handling
29/06/2008 18:45:32 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
29/06/2008 18:45:32 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
org.hibernate.HibernateException: /hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1416)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1438)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at Hibernacao.HibernateUtility.(HibernateUtility.java:15)
at Hibernacao.Teste.main(Teste.java:9)
Exception in thread “main” java.lang.NullPointerException
at Hibernacao.HibernateUtility.getSession(HibernateUtility.java:28)
at Hibernacao.Teste.main(Teste.java:9)

Agora o problema é o caminho do seu hibernate.xml. Verifique onde ele está e vá tentando. Leia a exceção.

Até!

Olá. estou usando o Eclipse. O arquivo está dentro do pacote que estou utilizando, tanto no src quanto no bin.
Eu tentei colocar ele também na raiz do projeto, mas não está funcionando. Vi que tem várias discusões de pessoas pedindo ajuda da mesma coisa, mas tudo que falaram parece que não está funcionando. O arquivo foi criado dentro do pacote.
Tem algum procedimento que posso fazer para verificar onde estou errando ?

O hibernate.xml tem que estar acessível ao PATH da aplicação ( talvez na pasta src, talvez numa outra pasta ) e de preferencia fora de qualquer pacote.
Esse problema é comum e chato de resolver, o mais fácil é no braço mesmo e ir mudando o arquivo de pasta.

Até!

Funcionou.
tirei do pacote e deixei dentro do src e funcionou.
Agora está dando erro no Endereco.hbm.xml, mas isto eu vou tentar resolver.

Obrigado por enquanto pessoal. T+.

Continuando com os erros do hibernate, agora está aparecendo o seguinte:

29/06/2008 22:20:48 org.hibernate.cfg.Environment
INFO: Hibernate 3.3.0.CR1
29/06/2008 22:20:48 org.hibernate.cfg.Environment
INFO: hibernate.properties not found
29/06/2008 22:20:48 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
29/06/2008 22:20:48 org.hibernate.cfg.Environment
INFO: using JDK 1.4 java.sql.Timestamp handling
29/06/2008 22:20:49 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
29/06/2008 22:20:49 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
29/06/2008 22:20:49 org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : Pessoa.hbm.xml
org.hibernate.InvalidMappingException: Could not parse mapping document from resource Pessoa.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:579)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1598)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1566)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1545)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1519)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1439)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at Hibernacao.HibernateUtility.(HibernateUtility.java:16)
at Hibernacao.Teste.main(Teste.java:13)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:518)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:576)
… 8 more
Caused by: org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: connect
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:509)
… 9 more
Exception in thread “main” java.lang.NullPointerException
at Hibernacao.HibernateUtility.getSession(HibernateUtility.java:29)
at Hibernacao.Teste.main(Teste.java:13)

alguem consegue me ajudar ?

Acho que deve estar errando em algum passo que estou fazendo. Pois não consegui ainda fazer funcionar o Hibernate.
Estou usando o eclipse.
Primeiro eu criei uma Classe Cliente.

public class Cliente {

private int id;
private String nome;
private String telefone;
private String email;

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 String getTelefone() {
	return telefone;
}
public void setTelefone(String telefone) {
	this.telefone = telefone;
}
public String getEmail() {
	return email;
}
public void setEmail(String email) {
	this.email = email;
}	

}

Depois eu criei o banco de dados no MySql.

CREATE TABLE Cliente (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(255) NULL,
email VARCHAR(255) NULL,
telefone VARCHAR(255) NULL,
PRIMARY KEY(id)
)

Depois eu inseri os .jar.
Depois eu criei o Cliente.hbm.xml clicando em novo arquivo em branco e salvando.

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

	<!-- Identificador da Classe -->
	
	<id name="id">
		<generator class="increment"/>
	</id>
	
	<!-- Propriedades da Classe -->
	
	<property name="nome"/>
	<property name="telefone"/>
	<property name="email"/>
	
</class>

Logo após eu criei um arquivo Hibernate.cfg.xml da mesma forma que criei cliente.

<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/hibernacao?autoReconnect=true
	</property>
	<property name="hibernate.connection.username">
		root
	</property>
	<property name="hibernate.connection.password">
		1
	</property>
	
	<!-- Configuraçã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_teste_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="Cliente.hbm.xml"/>
	
</session-factory>

Depois eu criei a classe HibernateUtility.java.

import org.hibernate.*;
import org.hibernate.cfg.Configuration;

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();
	
}

}

Para finalizar criei a classe Teste.

import org.hibernate.*;

public class Teste {

public static void main(String[] args) {
	
	Session sessao = HibernateUtility.getSession(); // abrindo secao
	Transaction transaction = sessao.beginTransaction(); // iniciando uma transacao
	
	Cliente cliente = new Cliente();
	cliente.setNome("Gustavo Mantovani");
	cliente.setTelefone("4432536238");
	cliente.setEmail("gmantovani2005@gmail.com");
	
	sessao.save(cliente);
	
	transaction.commit(); // finalizando a transacao
	sessao.close(); // fechando a sessao

}

}

Quando mandei rodar, apareceu o seguinte erro:

02/07/2008 23:03:11 org.hibernate.cfg.Environment
INFO: Hibernate 3.3.0.CR1
02/07/2008 23:03:11 org.hibernate.cfg.Environment
INFO: hibernate.properties not found
02/07/2008 23:03:11 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
02/07/2008 23:03:11 org.hibernate.cfg.Environment
INFO: using JDK 1.4 java.sql.Timestamp handling
02/07/2008 23:03:11 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
02/07/2008 23:03:11 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /hibernate.cfg.xml
02/07/2008 23:03:11 org.hibernate.cfg.Configuration addResource
INFO: Reading mappings from resource : Cliente.hbm.xml
02/07/2008 23:03:16 org.hibernate.util.XMLHelper$ErrorLogger error
SEVERE: Error parsing XML: XML InputStream(1) The markup declarations contained or pointed to by the document type declaration must be well-formed.
org.hibernate.InvalidMappingException: Could not parse mapping document from resource Cliente.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:579)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1598)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1566)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1545)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1519)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1439)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at HibernateUtility.(HibernateUtility.java:16)
at Teste.main(Teste.java:10)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:518)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:576)
… 8 more
Caused by: org.dom4j.DocumentException: Error on line 1 of document http://hibernate.sourcefource.net/hibernate-mapping-3.0.dtd : The markup declarations contained or pointed to by the document type declaration must be well-formed. Nested exception: The markup declarations contained or pointed to by the document type declaration must be well-formed.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:509)
… 9 more
Exception in thread “main” java.lang.NullPointerException
at HibernateUtility.getSession(HibernateUtility.java:29)
at Teste.main(Teste.java:10)

10:15:40.697 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.CR1
10:15:40.775 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
10:15:40.822 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : cglib
10:15:40.931 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
10:15:41.135 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: /hibernate.cfg.xml
10:15:41.135 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: /hibernate.cfg.xml
Warning: Caught exception attempting to use SAX to load a SAX XMLReader
Warning: Exception was: java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser
Warning: I will print the stack trace then carry on using the default SAX parser
java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser
at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
at org.dom4j.io.SAXHelper.createXMLReader(SAXHelper.java:83)
at org.dom4j.io.SAXReader.createXMLReader(SAXReader.java:894)
at org.dom4j.io.SAXReader.getXMLReader(SAXReader.java:715)
at org.dom4j.io.SAXReader.read(SAXReader.java:435)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1495)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1439)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at Hibernacao.HibernateUtility.(HibernateUtility.java:16)
at Hibernacao.Teste.main(Teste.java:10)
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1505)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1439)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at Hibernacao.HibernateUtility.(HibernateUtility.java:16)
at Hibernacao.Teste.main(Teste.java:10)
Caused by: org.dom4j.DocumentException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found Nested exception: SAX2 driver class org.apache.xerces.parsers.SAXParser not found
at org.dom4j.io.SAXReader.read(SAXReader.java:484)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1495)
… 4 more
Exception in thread “main” java.lang.NullPointerException
at Hibernacao.HibernateUtility.getSession(HibernateUtility.java:29)
at Hibernacao.Teste.main(Teste.java:10)

org.hibernate.dialect.MySQLDialect com.mysql.jdbc.Driver jdbc:mysql://localhost/hibernacao?autoReconnect=true root 1 10 2 5000 10 3000 2 true true true

O meu problema eu acho que seria a versão errado do Hibernate.
Agora baixei a core, mas parece que esta faltando alguma coisa nos codigos que fiz.

Segue abaixo o erro:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.InvalidMappingException: Could not parse mapping document from resource Cliente.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:575)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1593)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1561)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1420)
at Hibernacao.HibernateUtility.(HibernateUtility.java:16)
at Hibernacao.Teste.main(Teste.java:10)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:514)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:572)
… 8 more
Caused by: org.dom4j.DocumentException: Error on line 1 of document http://hibernate.sourcefource.net/hibernate-mapping-3.0.dtd : The markup declarations contained or pointed to by the document type declaration must be well-formed. Nested exception: The markup declarations contained or pointed to by the document type declaration must be well-formed.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:505)
… 9 more
Exception in thread “main” java.lang.NullPointerException
at Hibernacao.HibernateUtility.getSession(HibernateUtility.java:29)
at Hibernacao.Teste.main(Teste.java:10)

Será que alguem comsegue me ajudar ?

Mudei o HibernateUtility.java para:

package Hibernacao;

import org.hibernate.*;
import org.hibernate.cfg.Configuration;

public class HibernateUtility {

private static SessionFactory factory;

static {
	
	try {
		
		factory = new Configuration().configure().buildSessionFactory();
		
	} catch (Exception e) {
		
		e.printStackTrace();
		throw new ExceptionInInitializerError(e);
		
	}
	
}

public static Session getSession() {
	
	return factory.openSession();
	
}

}

Mas está dando o erro:

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
org.hibernate.InvalidMappingException: Could not parse mapping document from resource Cliente.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:575)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1593)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1561)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1420)
at Hibernacao.HibernateUtility.(HibernateUtility.java:16)
at Hibernacao.Teste.main(Teste.java:10)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:514)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:572)
… 8 more
Caused by: org.dom4j.DocumentException: Error on line 1 of document http://hibernate.sourcefource.net/hibernate-mapping-3.2.dtd : The markup declarations contained or pointed to by the document type declaration must be well-formed. Nested exception: The markup declarations contained or pointed to by the document type declaration must be well-formed.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:505)
… 9 more
Exception in thread “main” java.lang.ExceptionInInitializerError
at Hibernacao.HibernateUtility.(HibernateUtility.java:21)
at Hibernacao.Teste.main(Teste.java:10)
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from resource Cliente.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:575)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1593)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1561)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1420)
at Hibernacao.HibernateUtility.(HibernateUtility.java:16)
… 1 more
Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:514)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:572)
… 8 more
Caused by: org.dom4j.DocumentException: Error on line 1 of document http://hibernate.sourcefource.net/hibernate-mapping-3.2.dtd : The markup declarations contained or pointed to by the document type declaration must be well-formed. Nested exception: The markup declarations contained or pointed to by the document type declaration must be well-formed.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:505)
… 9 more

Só queria dizer que consegui usar o Hibernate com auxílio do eclipse.
Ficou assim o Cliente.hbm.xml

<?xml version="1.0"?>

e o hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?> org.gjt.mm.mysql.Driver 1 jdbc:mysql://localhost/Hibernacao root org.hibernate.dialect.MySQLInnoDBDialect

Obrigado a todos pela ajuda.

Ainda está dando um WARN, mas já consegui fazer funcionar…
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.

Olá GMantovani2005,

eu tive esse mesmo problema semana passada e consegui resolve-lo. Vc pode dar uma olhada aqui:
http://www.guj.com.br/posts/list/95161.java

Depois de baixar o jar do LogBack para resolver o seu problema inicial, eu ainda tive que baixar outros jars:

Primeiro eu fiz o download de uma biblioteca chamada cglib que vc encontra facilmente pesquisando no google.

Posteriormente, foi necessario procurar a biblioteca jta.jar. Essa eu não encontrei no google, mas no site do Hibernate, vc pode baixar o Hibernate EntityManager e dentro de suas libs vc encontra essa biblioteca.

Doravante todos os exemplos da apostila eu consegui executar com sucesso. Também estou aprendendo agora a usar esse framework, mas qualquer duvida ou resultado positivo/negativo não deixe de posta-la.

Auf Wiedersehen!!!