Error Reading Resource - Parece mentira, mas não é [Resolvido]

27 respostas
M

Olá pessoal,

Constantemente ao usar o netbeans tenho me deparado com este erro. Já varri a internet procurando a solução, e parece bastante simples: verificar se o arquivo .hbm.xml realmente está no local indicado pelo hibernate.cfg.xml.

Tenho a seguinte estrutura de pacotes:

  • Pacote
  • Pacote.Bean
  • Pacote.Action
  • Pacote.Form
  • Pacote.Conexao
  • Pacote.Gerenciador

o arquivo hibernate.cfg.xml vai no Pacote, e está como abaixo:

<?xml version="1.0"?>
 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 
 <hibernate-configuration>
 	<session-factory>
 		<mapping resource="pacote/Bean/Grupos.hbm.xml" />
 	</session-factory>
 </hibernate-configuration>

O arquivo Grupos.hbm.xml vai no pacote.Bean, junto com o bean Grupos.java, e está como abaixo:

<?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-mapping>
   <class name="pacote.Bean.Grupos" table="GRUPOS" >
         <id name="grupo" column="grupo" type="int"> 
             <generator class="assigned"/> 
         </id> 
      <property name="descricao" column="descricao" type="java.lang.String" />
   </class>
</hibernate-mapping>

Jah tentei mudar este arquivo para o Pacote, mas não fez diferença. Uso… ou melhor, estou tentando usar hibernate e struts e dando de cara com este erro.

Me desculpem encher isso com um erro que sei que é básico, mas é pq realmente já usei a p* do google e não resolveu ainda :frowning: sorry

Agradeço qq ajuda

27 Respostas

M

O erro é o abaixo:

exception

org.apache.jasper.JasperException: org.hibernate.MappingException: Error reading resource: pacote/Bean/Grupos.hbm.xml
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
	org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
	org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1001)
	org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:345)
	org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:560)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

root cause

java.lang.RuntimeException: org.hibernate.MappingException: Error reading resource: pacote/Bean/Grupos.hbm.xml
	pacote.Conexao.ConnectionFactory.<init>(Unknown Source)
	pacote.Conexao.ConnectionFactory.getInstance(Unknown Source)
	pacote.Conexao.GruposService.getGruposList(Unknown Source)
	org.apache.jsp.pages.gruposLista_jsp._jspService(gruposLista_jsp.java:77)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
	org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
	org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1001)
	org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:345)
	org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:560)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:209)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
_fs

Estranho não falar a causa do erro ao ler o arquivo. Acho que a culpa é do struts :XD:

Bom, utilizando meus poderes mediúnicos, posso dizer que isso aqui:

<id name="grupo" column="grupo" type="int">

Não é uma boa pedida. Tente trocar o datatype para java.lang.Integer.

M

Acabei de mudar e tentar… deu exatamente o mesmo erro, com os mesmos números de linha inclusive. Fico com a impressão que ele não está achando o arquivo (sabe Deus pq).

M

Não é erro de sintaxe, realmente ele não está é achando o arquivo… fiz um teste, renomeando arquivo do diretório para GruposOLD.hbm.xml, para ver qual erro ele daria se não o encontrasse. E ele continuou dando o mesmo erro. Ou seja, não está achando o arquivo. Alguém saberia pq? Pq eu honestamente estou perdida.

Agradeço! T+

cv1

Palpitinho besta: voce nao esta atentando ao fato de que em Java TODOS os nomes de todas as coisas sao sensiveis a maiusculas e minusculas. Verificou o nome dos pacotes, pastas, arquivos, enfim, deu aquela geral?

Eh por isso que se considera uma pratica ruim usar nomes de pacotes com maiusculas, alias :wink:

M

Realmente o fato de Java ser case-sensitive as vezes pega a gente de jeito, mas acredito que não é o caso. Mesmo porque o arquivo só precisaria estar informado no hibernate.cfg.xml, e de acordo com o que está ali ele está correto, certo?

Agora, pior ainda é o teste que fiz aqui… renomeei o hibernate.cfg.xml pra hibernateOLD.cfg.xml… e continuou dando o MESMO erro! Percebam que no erro o caminho onde o Grupos.hbm.xml deveria estar (e de fato, está) é informado…

Se eu retirei o hibernate.cfg.xml do meio, de onde ele tá pegando esse caminho? É padrão? Ou o hibernate 3 não usa o hibernate.cfg.xml? Se não usa, onde devo indicar a existência desse arquivo?

Agradeço novamente,

_fs

Ao fazer new Configuration().configure() se nenhum caminho é passado como argumento o arquivo é procurado no classpath.

Bom, após seus testes não terem mudado em nada o erro … tem certeza que o NetBeans está buildando (uau) seu projeto?

M

Here we go:

Entrei no netbeans de novo e dei Build and Clean e rodei o projeto. Nenhuma diferença. Não fiquei contente, entrei na pasta build e apaguei TUDO que tinha lá, depois repeti o processo. Ainda, nenhuma diferença. Fala sério viu.

_fs

Bom, então vamos do princípio.

Em que linha ocorre o erro?

M

Como eu falei aqui anteriormente, meu sonho de consumo é debugar minhas aplicações web no netbeans pra saber em que linha é o erro.
Mas por este motivo: http://www.guj.com.br/posts/list/28434.java nao posso…

Acho que na falta de opcao, vou tentar levar meu projeto pro Eclipse :cry:

M

A não ser que alguem tneha uma ideia melhor, q eu tb aceitaria hehe

_fs

hum, não manjo de NetBeans, mas sei que so Eclipse é fácil.

Sério, sem debugar não dá pra trabalhar hehe recomendo arrumar isso e depois voltar para o problema.

M

Debuguei o programa (no Windows, pq no Linux ainda tou passando raiva hehe) e peguei o erro neste método:

private ConnectionFactory()
	{
		try
		{
			Configuration cfg = new Configuration().addClass(Grupos.class);
			sessionFactory = cfg.buildSessionFactory();

		}
		catch (MappingException e)
		{
			System.err.println("Mapping Exception" + e.getMessage());
			throw new RuntimeException(e);
		}
		catch (HibernateException e)
		{
			System.err.println("Hibernate Exception" + e.getMessage());
			throw new RuntimeException(e);
		}

	}

O erro se dá na linha:

Configuration cfg = new Configuration().addClass(Grupos.class);

Daí ele entra na exceção do tipo MappingException. Existe algo errado neste código?

Agradeço.

_fs

Como está a estrutura de diretórios da sua aplicação?
Você está adicionando a declaração do mapeamento programaticamente e no hibernate.cfg.xml? Tente tirar de um dos dois lugares.

Se nada mais funcionar, debugue o código do Hibernate.

rodrigo_corinthians
Configuration cfg = new Configuration().configure();
sessionFactory = cfg.buildSessionFactory();

Tenta assim e depois posta o resultado.

Se o Hibernate não estiver conseguindo ler os hbms se baseia nessa estrutura abaixo:

PATH\meu_projeto\WEB-INF\src
   . hibernate.cfg.xml
   hibernate - diretório
      .. UsuarioMenuPermissao.hbm.xml - Hbm

// hibernate.cfg.xml
<hibernate-configuration> 
   <session-factory> 
        <mapping resource="hibernate/UsuarioMenuPermissao.hbm.xml"/>
    </session-factory> 
</hibernate-configuration>

Assim não tem erro. :wink:

M

Na tentativa de achar algum problema ligado à minha estrutura de diretórios ou a meus pacotes, mudei um pouco, alterando nomes de pacotes e etc. A estrutura de meus diretórios é a seguinte:

+ src
       - hibernate.cfg.xml
       - log4j.properties 
       - MessagesResources.properties
       + auge
             + action
                    - arquivos
             + bean 
                    - Grupos.Java
                    - Grupos.hbm.xml
             + conexao
                    - arquivos
             + form
                    - arquivos
             + gerenciador
                    - arquivos

Alterei um pouco também o arquivo hibernate.cfg.xml, que agora está assim:

<?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>

        <!-- Database connection settings -->
        <property name="connection.driver_class">org.firebirdsql.jdbc.FBDriver</property>
        <property name="connection.url">jdbc:firebirdsql:localhost/3050:/E/devel/Produção/Fontes/AugeProducao/BD/auge.gdb</property>
        <property name="connection.username">sysdba</property>
        <property name="connection.password">minhasenha</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.FirebirdDialect</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>

        <mapping resource="auge/bean/Grupos.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

Essa mudança sim, surtiu algum efeito. Agora ele não ignora mais a existência do meu hibernate.cfg.xml, então, quando no mapping resource eu coloco um endereço que não equivale à localização correta do arquivo, ou quando renomeio o arquivo, o erro muda, dizendo que não foi encontrado (Resource: Grupos.hbm.xml not found). Até aí tudo bem, já que quando eu coloco o caminho correto, ele encontra… mas aí dá exatamente o mesmo erro que postei no começo (Error reading resource). Será que tem de fato algo de errado no meu arquivo .hbm.xml?

Ele vai abaixo:

<?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-mapping>
   <class name="auge.bean.Grupos" table="GRUPOS" >
         <id name="grupo" column="grupo" type="java.lang.Integer"> 
             <generator class="assigned"/> 
         </id> 
      <property name="descricao" column="descricao" type="java.lang.String" />
   </class>
</hibernate-mapping>

Tem algo errado nessa sintaxe? No cabeçalho, talvez?

Retirei também a linha do addClass, deixando essa parte do código de acordo com o que o rodrigo postou. Eu estava mesmo colocando duas vezes e isso não é necessário.

Algum palpite?

Desde já, agradeço

M

Lipe, exatamente q código do hibernate eu devo debugar?

Ptz, nunca achei q ia gastar tanto tempo em um problema só, ainda mais que parecia tão simples. Isso tá me atrasando, e já estou começando a me imaginar usando JDBC puro. :cry:

_fs

Você seguiu minha sugestão e a do rodrigo de retirar o “addClass” quando configura a factory?

Sobre debugar o Hibernate, é simples. Comece debugando sua aplicação normalmente, mas quando chegar na linha do “configure()” aperte F5 (step-into) ao invés de F6 (step-over).

Ao fazer isso se, ao invés de aparecer o código da classe, aparecer um botão “attach source”, clique nele. Na janela que abrir clique em ‘folder’ (ou algo assim) e indique a pasta com os source codes do Hibernate (%HIBERNATE_HOME%/src).

Fazendo isso poderá debugar passo-a-passo o que o Hibernate está fazendo e exatamente onde está ocorrendo o erro.

Mas antes remova o addClass do seu código.

M

Sim Lipe, como eu disse, eu retirei sim o addClass. Não fez diferença, infelizmente. Deixei de acordo com o que o Rodrigo falou.
Amanhã pela manhã vou debugar o código do Hibernate e ver no que dá. Desde já, agradeço muito pela ajuda de todos. :stuck_out_tongue:

Até

M

:? O “step into” não funciona… o debugger ignora que exista alguma coisa atrás disso, e passa pra frente :? Estou no Netbeans, será que ele não faz esse tipo de debug?

Eu sei que pedir isso é o cúmulo do absurdo, mas será que algum de vocês podia dar uma olhada no meu código? Coloquei em: http://rapidshare.de/files/3642965/AugeProducao.zip.html … um arquivo compactado com tudo que precisa, menos as libs do struts e do hibernate, pq imagino que a maioria tenha e não precise delas… tem menos de 2 MB… Se for o caso de precisar das libs, coloquei-as em: http://rapidshare.de/files/3643296/lib.zip.html

Estou quase sem acreditar que um problema aparentemente tão simples custe tanto pra ser resolvido… sei lá, pode ser que eu esteja fazendo uma dedada feia, que é o que eu espero que esteja acontecendo… mas estou começando a achar que toda vez que alguém usa hibernate, morre um ursinho polar, pq não tem lógica…

De qq forma, agradeço muito a ajuda de todos, mais uma vez.

_fs

Hum, o que falei sobre debugging funciona no Eclipse.

public class Grupos implements Serializable {
    private int grupo;

<id name="grupo" column="grupo" type="java.lang.Integer">

int != Integer :smiley: tente mudar.

Mas mesmo assim não deveria dar esse problema. Vou continuar olhando.

De uma olhada aqui também
http://www.guj.com.br/posts/list/26947.java
É o mesmo erro, mas a causa real aparece mais abaixo. Seu log4j está configurado direitinho?

M

Mudei!.. e nada… :?

Será pq tenho pacote dentro de pacote?

M

Ops, agora que vi a parte do log4j, vou dar uma olhada aqui agora.

M

Troquei meu arquivo log4j.properties pelo que o Maurício colocou nesse tópico que você indicou. Não resolveu o problema, mas fez muita diferença.

A exceção que recebo agora tem o mesmo erro, mas indica menos linhas. Está como abaixo:

exception

org.apache.jasper.JasperException: org.hibernate.MappingException: Error reading resource: auge/bean/Grupos.hbm.xml
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

root cause

java.lang.RuntimeException: org.hibernate.MappingException: Error reading resource: auge/bean/Grupos.hbm.xml
	auge.conexao.ConnectionFactory.<init>(ConnectionFactory.java:43)
	auge.conexao.ConnectionFactory.getInstance(ConnectionFactory.java:64)
	auge.conexao.GruposService.getGruposList(GruposService.java:117)
	org.apache.jsp.pages.gruposLista_jsp._jspService(gruposLista_jsp.java:77)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)

E melhor ainda, o log4j (que realmente estava configurado errado, porque não me dava logs… duh) agora me dá os logs abaixo:

2005-08-04 10:44:01,068 INFO  hibernate.cfg.Configuration  -> Mapping resource: auge/bean/Grupos.hbm.xml
2005-08-04 10:44:01,079 DEBUG hibernate.util.DTDEntityResolver  -> trying to locate 
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd 
in classpath under org/hibernate/
2005-08-04 10:44:01,079 DEBUG hibernate.util.DTDEntityResolver  -> found 
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd in classpath
2005-08-04 10:44:01,228 ERROR hibernate.util.XMLHelper  -> 
Error parsing XML: XML InputStream(6) Document root element "hibernate-mapping", must match DOCTYPE root "hibernate-configuration".
2005-08-04 10:44:01,228 ERROR hibernate.util.XMLHelper  -> 
Error parsing XML: XML InputStream(6) Element type "hibernate-mapping" must be declared.
2005-08-04 10:44:01,229 ERROR hibernate.util.XMLHelper  -> 
Error parsing XML: XML InputStream(7) Element type "class" must be declared.
2005-08-04 10:44:01,230 ERROR hibernate.util.XMLHelper  -> 
Error parsing XML: XML InputStream(8) Element type "id" must be declared.
2005-08-04 10:44:01,231 ERROR hibernate.util.XMLHelper  -> 
Error parsing XML: XML InputStream(9) Element type "generator" must be declared.
2005-08-04 10:44:01,233 ERROR hibernate.util.XMLHelper  -> 
Error parsing XML: XML InputStream(11) Attribute "column" must be declared for element type "property".
2005-08-04 10:44:01,233 ERROR hibernate.util.XMLHelper  -> 
Error parsing XML: XML InputStream(11) Attribute "type" must be declared for element type "property".
Mapping ExceptionError reading resource: auge/bean/Grupos.hbm.xml
2005-08-04 10:44:01,577 ERROR StandardWrapper[/AugeProducao:jsp]  -> 
Servlet.service() for servlet jsp threw exception
java.lang.RuntimeException: org.hibernate.MappingException: Error reading resource: auge/bean/Grupos.hbm.xml
        at auge.conexao.ConnectionFactory.<init>(ConnectionFactory.java:43)
        at auge.conexao.ConnectionFactory.getInstance(ConnectionFactory.java:64)
        at auge.conexao.GruposService.getGruposList(GruposService.java:117)
        at org.apache.jsp.pages.gruposLista_jsp._jspService(gruposLista_jsp.java:77)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:534)
Caused by: org.hibernate.MappingException: Error reading resource: auge/bean/Grupos.hbm.xml
        at org.hibernate.cfg.Configuration.addResource(Configuration.java:452)
        at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1263)
        at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1235)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1217)
        at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1184)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:1112)
        at org.hibernate.cfg.Configuration.configure(Configuration.java:1098)
        at auge.conexao.ConnectionFactory.<init>(ConnectionFactory.java:36)
        ... 26 more
Caused by: org.hibernate.MappingException: invalid mapping
        at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:399)
        at org.hibernate.cfg.Configuration.addResource(Configuration.java:449)
        ... 33 more
Caused by: org.xml.sax.SAXParseException: Document root element "hibernate-mapping", must match DOCTYPE root "hibernate-configuration".
        at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.rootElementSpecified(Unknown Source)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.dom4j.io.SAXReader.read(SAXReader.java:465)
        at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:398)
        ... 34 more

Nesse log, tem um trecho que acredito que indique onde está meu erro:

2005-08-04 10:44:01,228 ERROR hibernate.util.XMLHelper  -> Error parsing XML: XML InputStream(6) Document root element "hibernate-mapping", must match DOCTYPE root "hibernate-configuration".
 2005-08-04 10:44:01,228 ERROR hibernate.util.XMLHelper  -> Error parsing XML: XML InputStream(6) Element type "hibernate-mapping" must be declared.
 2005-08-04 10:44:01,229 ERROR hibernate.util.XMLHelper  -> Error parsing XML: XML InputStream(7) Element type "class" must be declared.
 2005-08-04 10:44:01,230 ERROR hibernate.util.XMLHelper  -> Error parsing XML: XML InputStream(8) Element type "id" must be declared.
 2005-08-04 10:44:01,231 ERROR hibernate.util.XMLHelper  -> Error parsing XML: XML InputStream(9) Element type "generator" must be declared.
 2005-08-04 10:44:01,233 ERROR hibernate.util.XMLHelper  -> Error parsing XML: XML InputStream(11) Attribute "column" must be declared for element type "property".
 2005-08-04 10:44:01,233 ERROR hibernate.util.XMLHelper  -> Error parsing XML: XML InputStream(11) Attribute "type" must be declared for element type "property".

A tag hibernate-mapping é do meu .hbm.xml. Já a hibernate-configuration é do meu hibernate.cfg.xml. Ele está identificando uma incompatibilidade entre eles, aparentemente, não? Além do mais, o parser da erros dizendo que coisas ali não estão declaradas… onde é que elas deveriam estar declaradas? :shock:

Achei que poderia ser o cabeçalho que estivesse incorreto, mas aparentemente não é isso. De qualquer forma, deve ter algo atrapalhando em um deles, que não consegui identificar. Volto a postar os dois abaixo.

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>

        <!-- Database connection settings -->
        <property name="connection.driver_class">org.firebirdsql.jdbc.FBDriver</property>
        <property name="connection.url">jdbc:firebirdsql:localhost/3050:/E/devel/Produção/Fontes/AugeProducao/BD/auge.gdb</property>
        <property name="connection.username">sysdba</property>
        <property name="connection.password">senha</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.FirebirdDialect</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>

        <mapping resource="auge/bean/Grupos.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

Grupos.hbm.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-mapping>
   <class name="auge.bean.Grupos" table="GRUPOS" >
         <id name="grupo" column="grupo" type="java.lang.Integer"> 
             <generator class="assigned"/> 
         </id> 
      <property name="descricao" column="descricao" type="java.lang.String" />
   </class>
</hibernate-mapping>

Não achei o que poderia ser… alguém tem alguma idéia? Estou aqui procurando outros modelos destes arquivos pra ver se falta algo no meu.

Muito, muito obrigada! agora parece que está chegando bem perto.

_fs

A-ha! :smiley:

Grupo.hbm.xml

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

Troca as duas palavrinhas configuration ali por mapping

:smiley:

M

Pois é Lipe
Eu tinha acabado de perceber isso e estava aqui planejando atirar minha falta de atenção da janela do quinto andar :shock:

Gente, me desculpem por incomodar tanto por um erro idiota causado por Ctrl+C e Ctrl+V. Lipe, muitíssimo obrigada ajuda (e pela paciencia)! E a todos os outros tambem, mto obrigada… e vou pedir desculpas ao Hibernate por tê-lo xingado :oops:

_fs

hehe relaxe :smiley: os problemas de verdade ainda estão por vir :XD:

Criado 2 de agosto de 2005
Ultima resposta 4 de ago. de 2005
Respostas 27
Participantes 4