Problema estranho Hibernate

1 resposta
A

Boa tarde!

Estou tendo o seguinte problema com o Hibernate. Tenho o meu XML de configuração:

<?xml version='1.0' encoding='utf-8'?>  
<!DOCTYPE hibernate-configuration PUBLIC  
        "-//Hibernate/Hibernate Configuration DTD 2.0//EN"  
 "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">   
<hibernate-configuration>    
    <!-- a SessionFactory instance listed as /jndi/name -->  
   <session-factory>      
        <!-- PostgreSQL -->  
        <property name="hibernate.dialect">net.sf.hibernate.dialect.PostgreSQLDialect</property>  
        <property name="hibernate.connection.username">postgres</property>  
        <property name="hibernate.connection.password">postgres</property>  
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/codefest</property>  
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>  
        <property name="hibernate.show_sql">true</property>  
        <property name="hibernate.query.substitutions">yes 'Y', no 'N'</property>  
        <property name="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JDBCTransactionFactory</property>  
        <property name="hibernate.cache.use_query_cache">false</property>  
  
        <mapping class="br.escolaborativa.to.Aluno" />
        <mapping class="br.escolaborativa.to.Aula" />
        <mapping class="br.escolaborativa.to.Comentario" />
        <mapping class="br.escolaborativa.to.Curso" />
        <mapping class="br.escolaborativa.to.Disciplina" />
        <mapping class="br.escolaborativa.to.Elemento" />
        <mapping class="br.escolaborativa.to.LogAcesso" />
        <mapping class="br.escolaborativa.to.Materia" />
        <mapping class="br.escolaborativa.to.NotaAula" />
        <mapping class="br.escolaborativa.to.Professor" />
        <mapping class="br.escolaborativa.to.Recurso" />
        <mapping class="br.escolaborativa.to.Turma" />
        <mapping class="br.escolaborativa.to.Usuario" />                             
                  
    </session-factory>  
</hibernate-configuration>

E minha classe Util:

package br.escolaborativa.util;

import java.io.File;

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

public class HibernateUtil {

	private static final SessionFactory sessionFactory = buildSessionFactory();
	
	private static SessionFactory buildSessionFactory() {
		try {
			File file = new File("Hibernate.cfg.xml");
			System.out.println(file.getAbsolutePath());
			return new Configuration().configure(file).buildSessionFactory();
		} catch (Throwable e) {
			e.printStackTrace();
			throw new ExceptionInInitializerError(e);
		}
	}
	
	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}
}
E está tendo o seguinte erro…:

SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.

SLF4J: Defaulting to no-operation (NOP) logger implementation

SLF4J: See <a href="http://www.slf4j.org/codes.html#StaticLoggerBinder">http://www.slf4j.org/codes.html#StaticLoggerBinder</a> for further details.

org.hibernate.MappingException: invalid configuration

at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2241)

at org.hibernate.cfg.Configuration.configure(Configuration.java:2216)

at br.escolaborativa.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:16)

at br.escolaborativa.util.HibernateUtil.(HibernateUtil.java:10)

at br.escolaborativa.test.Teste.main(Teste.java:17)

Caused by: org.xml.sax.SAXParseException: Attribute “class” must be declared for element type “mapping”.

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

at org.dom4j.io.SAXReader.read(SAXReader.java:465)

at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2238)

… 4 more

Exception in thread “main” java.lang.ExceptionInInitializerError

at br.escolaborativa.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:19)

at br.escolaborativa.util.HibernateUtil.(HibernateUtil.java:10)

at br.escolaborativa.test.Teste.main(Teste.java:17)

Caused by: org.hibernate.MappingException: invalid configuration

at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2241)

at org.hibernate.cfg.Configuration.configure(Configuration.java:2216)

at br.escolaborativa.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:16)

… 2 more

Caused by: org.xml.sax.SAXParseException: Attribute “class” must be declared for element type “mapping”.

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

at org.dom4j.io.SAXReader.read(SAXReader.java:465)

at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2238)

… 4 more

Pela mensagem… ele fala que o atributo class deve estar no elemento mapping, mas como vcs podem ver, ele esta!

O que estou fazendo de errado?

1 Resposta

A

Bom… eu consegui arrumar aqui, estava com os caminhos destualizados simplesmente. hehe

A resposta era trocar por:

Criado 12 de outubro de 2011
Ultima resposta 12 de out. de 2011
Respostas 1
Participantes 1