Erro em hibernate + struts

3 respostas
D

Opa :smiley:

Minha app tem a seguinte estrutura:

se eu rodar ela pela classe, insere numa boa, soh q eu nao posso mover aquelas 3 classes q estao logo abaixo do nivel source para um package…para rodar usando struts, eu movo as classes para os pacotes, soh q eu recebo a seguinte mensagem de erro:

14:13:40,504  INFO Configuration:530 - Reading mappings from resource: dto/Wee.hbm.xml
14:13:40,550  WARN AbstractExceptionHandler:92 - Unhandled exception
org.hibernate.MappingNotFoundException: resource: dto/Wee.hbm.xml not found
	at org.hibernate.cfg.Configuration.addResource(Configuration.java:533)
	at org.hibernate.cfg.Configuration.addClass(Configuration.java:586)
	at dao.WeeDAO.<init>(WeeDAO.java:17)
	at action.WeeInsereAction.execute(WeeInsereAction.java:27)
	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	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:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	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:595)
14:13:40,582  WARN ExceptionCatcher:162 - Exception from exceptionCommand 'servlet-exception'
org.hibernate.MappingNotFoundException: resource: dto/Wee.hbm.xml not found
	at org.hibernate.cfg.Configuration.addResource(Configuration.java:533)
	at org.hibernate.cfg.Configuration.addClass(Configuration.java:586)
	at dao.WeeDAO.<init>(WeeDAO.java:17)
	at action.WeeInsereAction.execute(WeeInsereAction.java:27)
	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	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:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	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:595)
14:13:40,582 ERROR [action]:253 - Servlet.service() for servlet action threw exception
org.hibernate.MappingNotFoundException: resource: dto/Wee.hbm.xml not found
	at org.hibernate.cfg.Configuration.addResource(Configuration.java:533)
	at org.hibernate.cfg.Configuration.addClass(Configuration.java:586)
	at dao.WeeDAO.<init>(WeeDAO.java:17)
	at action.WeeInsereAction.execute(WeeInsereAction.java:27)
	at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
	at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
	at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	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:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	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:595)

Isso tem alguma coisa a ver com o arquivo .hbm.xml né? em nenhum momento eu setei que ele estaria no package dto, a única coisa no DTO é a classe com os atributos, o meu Wee.hbm.xml, está no mesmo nível da pasta src, como que eu configuro o arquivo? pra falar a verdade, não sei ql arquivo configurar :oops:

Wee.hbm.xml

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

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

<!-- Exemplo de configuracao do mapeamento  -->
<hibernate-mapping>

	<class name="Wee" table="weee">
		<id name="id" column="id" type="string">
			<generator class="assigned"/>
		</id>
		<property name="nome" column="nome" type="string"/>
		<property name="idade" column="idade" type="string"/>
		<property name="endereco" column="endereco" type="string"/>
		<property name="estado" column="estado" type="string"/>
		<property name="pais" column="pais" type="string"/>
	</class>

</hibernate-mapping>

3 Respostas

vivi_grieco

vc deve ter um arquivo hibernate.properties que lá vc especifica em qual pacote está o seu hbm

D

vivi_grieco,

no meu hibernate.properties tem um monte de coisa comentada e como que eu faço para indicar o caminho do hbm?As linhas descomentadas, são

hibernate.query.substitutions yes 'Y', no 'N'
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql://localhost/hibernate
hibernate.connection.username root

hibernate.connection.password

hibernate.format_sql true

hibernate.max_fetch_depth 1

hibernate.jdbc.batch_versioned_data true

hibernate.jdbc.use_streams_for_binary true

hibernate.cache.region_prefix hibernate.test

hibernate.cache.provider_class org.hibernate.cache.HashtableCacheProvider

e meu hbm, não está em nenhum pacote…ele está no diretório ‘src’ que é o que está configurado como source nas propriedades do projeto!

ps - não estou usando annotations

D

resolvido…movi a classe para o mesmo package!

Criado 12 de janeiro de 2007
Ultima resposta 12 de jan. de 2007
Respostas 3
Participantes 2