Problemas com mapeamento one-to-many utilizando XDoclet

1 resposta
keller

Olá pessoal,

Estou tentando fazer um mapeamento de one-to-many
utilizando o XDoclet para gerar os HBMs.

Porem esta dando a seguinte mensagem:

2359[ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO  org.springframework.beans.factory.support.DefaultListableBeanFactory  - Destroying singletons in factory {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [objetivoPesquisaDAO,objetivoPesquisaService,pesquisaDAO,pesquisaService,propertyConfigurer,dataSource,sessionFactory,transactionManager,transactionIterceptor]; root of BeanFactory hierarchy}
2375[ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR org.springframework.web.context.ContextLoader  - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'objetivoPesquisaDAO' defined in ServletContext resource [/WEB-INF/classes/applicationContext-hibernate.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: Could not read mapping document from file: C:\java\Tomcat 5.5\webapps\dellanno\WEB-INF\classes\br\com\dellanno\productcontrol\configuration\model\Notificacao.hbm.xml
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: Could not read mapping document from file: C:\java\Tomcat 5.5\webapps\dellanno\WEB-INF\classes\br\com\dellanno\productcontrol\configuration\model\Notificacao.hbm.xml
org.hibernate.MappingException: Could not read mapping document from file: C:\java\Tomcat 5.5\webapps\dellanno\WEB-INF\classes\br\com\dellanno\productcontrol\configuration\model\Notificacao.hbm.xml
	at org.hibernate.cfg.Configuration.addFile(Configuration.java:270)
	at org.hibernate.cfg.Configuration.addDirectory(Configuration.java:583)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:707)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1091)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:186)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1046)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:378)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)
	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:698)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1190)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:292)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1305)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.MappingException: invalid mapping
	at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:425)
	at org.hibernate.cfg.Configuration.addFile(Configuration.java:267)
	... 35 more
Caused by: org.xml.sax.SAXParseException: The content of element type "list" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(index|list-index),(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
	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.handleEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(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 org.dom4j.io.SAXReader.read(SAXReader.java:465)
	at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:422)
	... 36 more
2390[ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dellanno]  - Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'objetivoPesquisaDAO' defined in ServletContext resource [/WEB-INF/classes/applicationContext-hibernate.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: Could not read mapping document from file: C:\java\Tomcat 5.5\webapps\dellanno\WEB-INF\classes\br\com\dellanno\productcontrol\configuration\model\Notificacao.hbm.xml
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: Could not read mapping document from file: C:\java\Tomcat 5.5\webapps\dellanno\WEB-INF\classes\br\com\dellanno\productcontrol\configuration\model\Notificacao.hbm.xml
org.hibernate.MappingException: Could not read mapping document from file: C:\java\Tomcat 5.5\webapps\dellanno\WEB-INF\classes\br\com\dellanno\productcontrol\configuration\model\Notificacao.hbm.xml
	at org.hibernate.cfg.Configuration.addFile(Configuration.java:270)
	at org.hibernate.cfg.Configuration.addDirectory(Configuration.java:583)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:707)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1091)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:186)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1046)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:857)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:378)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)
	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:809)
	at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:698)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:472)
	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1190)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:292)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1305)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.MappingException: invalid mapping
	at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:425)
	at org.hibernate.cfg.Configuration.addFile(Configuration.java:267)
	... 35 more
Caused by: org.xml.sax.SAXParseException: The content of element type "list" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(index|list-index),(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
	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.handleEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(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 org.dom4j.io.SAXReader.read(SAXReader.java:465)
	at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:422)
	... 36 more
06/07/2006 14:33:08 org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
06/07/2006 14:33:08 org.apache.catalina.core.StandardContext start
SEVERE: Context [/dellanno] startup failed due to previous errors
2437[ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO  org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dellanno]  - Closing Spring root WebApplicationContext

Segue as anotacoes utilizadas para fazer o mapeamento:

/**
	 * @hibernate.list lazy="false" cascade="all"
	 * @hibernate.collection-key-column name="id" not-null="true"
	 * @hibernate.collection-index column = "notificacao_id"
	 * @hibernate.collection-one-to-many class="br.com.dellanno.productcontrol.configuration.model.Destinatario"
	 **/
	public List getDestinatario() {
		return destinatario;
	}
	public void setDestinatario(List destinatario) {
		this.destinatario = destinatario;
	}

O Projeto tem como base Webwork2+Spring+Hibernate,
os HBMs sao gerados pelo XDoclet usando uma target ant.

Alguem sabe o que esta faltando ?
Ou o que estou fazendo errado ?

Valeu! :thumbup:

1 Resposta

keller

Bom o problema foi resolvido , mas é algo muito estranho…

Se usado:

<!-- Mapeamentos do Hibernate3 -->
		<property name="mappingDirectoryLocations">
			<list>
				<value>classpath:br/com/dellanno/productcontrol/configuration/model</value>
				<value>classpath:br/com/dellanno/productcontrol/search/model</value>
				<value>classpath:br/com/dellanno/uol/model</value>
			</list>
		</property>

Ocorre o problema acima, porem se for declarativa a forma
o erro nao ocorre… vai entender porque…

<property name="mappingResources">
			<list>
				<value>br/com/develop/example/model/Item.hbm.xml</value>
				<value>br/com/dellanno/controleproduto/configuracao/model/Criterio.hbm.xml</value>
				<value>br/com/dellanno/controleproduto/configuracao/model/Limite.hbm.xml</value>
				<value>br/com/dellanno/controleproduto/configuracao/model/Notificacao.hbm.xml</value>
</list>
</property>

Se alguem souber uma solucao melhor, pode postar… :wink:

Até… :thumbup:

Criado 6 de julho de 2006
Ultima resposta 6 de jul. de 2006
Respostas 1
Participantes 1