Erro no Hibernate

Abaixo segue o erro que foi apresentado no arquivo de log do hibernate. Em seguida mostrarei minhas classes e mapeamentos. Se alguem conseguir ajudar eu agradeço.

Erro:

11:02:22,250  INFO HbmBinder:2041 - Mapping collection: com.sismed.persistencia.tipodeexame.TipoDeExame.exames -> exame
11:02:22,250  INFO HbmBinder:2041 - Mapping collection: com.sismed.persistencia.exame.Exame.seccapts -> seccapt
11:02:22,250  INFO HbmBinder:2041 - Mapping collection: com.sismed.persistencia.exame.Exame.xas -> xa
11:02:22,265  INFO HbmBinder:2041 - Mapping collection: com.sismed.persistencia.exame.Exame.uses -> us
11:02:22,265  INFO HbmBinder:2041 - Mapping collection: com.sismed.persistencia.exame.Exame.ctes -> ct
11:02:22,281  INFO Configuration:888 - processing association property references
11:02:22,281  INFO Configuration:917 - processing foreign key constraints
11:02:22,828 ERROR HibernateUtil:33 - Building SessionFactory failed.
org.hibernate.MappingException: duplicate property mapping: 
	at org.hibernate.mapping.PersistentClass.checkPropertyDuplication(PersistentClass.java:344)
	at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:334)
	at org.hibernate.mapping.RootClass.validate(RootClass.java:188)
	at org.hibernate.cfg.Configuration.validate(Configuration.java:839)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1000)
	at com.sismed.persistencia.HibernateUtil.<clinit>(HibernateUtil.java:27)
	at com.sismed.controle.ControleLogin.<init>(ControleLogin.java:13)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:76)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:49)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:316)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:317)
	at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
	at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:305)
	at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:250)
	at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:219)
	at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:111)
	at javax.servlet.GenericServlet.init(GenericServlet.java:211)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
	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.deployDescriptor(HostConfig.java:589)
	at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:536)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:471)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
	at org.apache.catalina.core.StandardService.start(StandardService.java:450)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)

Hibernate Mapping:

[code]<?xml version="1.0" encoding="utf-8"?>

java:/comp/env/jdbc/iwg2 true org.hibernate.dialect.MySQLDialect true [/code]

Classe Exame:

package com.persistencia.exame;

import java.util.Set;

public class Exame extends Entidade 
{
     private Long              codexa;
     private Set               seccapts;
     private Set               xas;
     private Set               uses;
     private Set               ctes;     

    public Exame() {
    }

    public Exame(Long codexa) {
        this.codexa = codexa;
    }

    public Long getCodexa() {
        return this.codexa;
    }
    
    public void setCodexa(Long codexa) {
        this.codexa = codexa;
    }

    public Set getSeccapts() {
        return this.seccapts;
    }
    
    public void setSeccapts(Set seccapts) {
        this.seccapts = seccapts;
    }

    public Set getXas() {
        return this.xas;
    }
    
    public void setXas(Set xas) {
        this.xas = xas;
    }

    public Set getUses() {
        return this.uses;
    }
    
    public void setUses(Set uses) {
        this.uses = uses;
    }
    
    public Set getCtes() {
		return this.ctes;
	}

    public void setCtes(Set ctes) {
		this.ctes = ctes;
	}
}[/code]

Exame.xml
[code]<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.persistencia.exame.Exame" table="exame" lazy="true">
        <id name="codexa" type="long">
            <column name="CODEXA" />
            <generator class="increment" />
        </id>
                
        <set name="seccapts" inverse="true"  cascade="all">
            <key>
                <column name="Exame_CODEXA" not-null="true" />
            </key>
            <one-to-many class="com.persistencia.seccapt.Seccapt" />
        </set>

        <set name="xas" inverse="true" cascade="all">
            <key>
                <column name="Exame_CODEXA" not-null="true" />
            </key>
            <one-to-many class="com.persistencia.xa.Xa" />
        </set>

        <set name="uses" inverse="true"  cascade="all">
            <key>
                <column name="Exame_CODEXA" not-null="true" />
            </key>
            <one-to-many class="com.persistencia.us.Us" />
        </set>  
      
        <set name="ctes" inverse="true" cascade="all">
            <key>
                <column name="Exame_CODEXA" not-null="true" />
            </key>
            <one-to-many class="com.persistencia.ct.Ct" />
        </set>
        
    </class>
</hibernate-mapping>

Classe CT:

[code]package com.persistencia.ct;

import java.io.Serializable;
import com.persistencia.exame.Exame;
import com.persistencia.pixeldata.PixelData;

public class Ct implements Serializable
{
private Long codima;
private Exame exame;
private PixelData pixeldata;

public Ct() {
}

public Ct(Long codima) {
    this.codima = codima;
}
public Long getCodima() {
	return codima;
}

public void setCodima(Long codima) {
	this.codima = codima;
}

public Exame getExame() {
	return exame;
}

public void setExame(Exame exame) {
	this.exame = exame;
}

public PixelData getPixeldata() {
	return pixeldata;
}

public void setPixeldata(PixelData pixeldata) {
	this.pixeldata = pixeldata;
}

}[/code]

CT.xml

[code]<?xml version="1.0"?>

[/code]

Classe Us:

[code]package com.persistencia.us;

import java.io.Serializable;
import com.persistencia.exame.Exame;
import com.persistencia.pixeldata.PixelData;

public class Us implements Serializable
{
private Long codima;
private Exame exame;
private PixelData pixeldata;

public Us() {
}
 
public Us(Long codima) {
    this.codima = codima;
}

public Long getCodima() {
	return codima;
}
public void setCodima(Long codima) {
	this.codima = codima;
}

public Exame getExame() {
	return exame;
}
public void setExame(Exame exame) {
	this.exame = exame;
}

public PixelData getPixeldata() {
	return pixeldata;
}

public void setPixeldata(PixelData pixeldata) {
	this.pixeldata = pixeldata;
}

}[/code]

Us.xml:

[code]<?xml version="1.0"?>

[/code]

Classe Seccapt:

[code]package com.persistencia.seccapt;

import java.io.Serializable;
import com.persistencia.exame.Exame;
import com.persistencia.pixeldata.PixelData;

public class Seccapt implements Serializable
{
private Long codima;
private Exame exame;
private PixelData pixeldata;

public Seccapt() {
}   

public Seccapt(Long codima) {
    this.codima = codima;
}

public Long getCodima() {
	return codima;
}

public void setCodima(Long codima) {
	this.codima = codima;
}

public Exame getExame() {
	return exame;
}

public void setExame(Exame exame) {
	this.exame = exame;
}

public PixelData getPixeldata() {
	return pixeldata;
}

public void setPixeldata(PixelData pixeldata) {
	this.pixeldata = pixeldata;
}

}[/code]

Seccapt.xml

[code]<?xml version="1.0"?>

[/code]

Classe Xa:

[code]package com.persistencia.xa;

import java.io.Serializable;
import com.persistencia.exame.Exame;
import com.persistencia.pixeldata.PixelData;

public class Xa implements Serializable
{
private Long codima;
private Exame exame;
private PixelData pixeldata;

public Xa() {
}

public Xa(Long codima) {
    this.codima = codima;
}

public Long getCodima() {
	return codima;
}

public void setCodima(Long codima) {
	this.codima = codima;
}

public Exame getExame() {
	return exame;
}

public void setExame(Exame exame) {
	this.exame = exame;
}

public PixelData getPixeldata() {
	return pixeldata;
}

public void setPixeldata(PixelData pixeldata) {
	this.pixeldata = pixeldata;
}

}[/code]

Xa.xml

[code]<?xml version="1.0"?>

[/code]

Estranho, olhei os mapeamentos várias vezes mas não encontrei a propriedade duplicada.

Está utilizando o Hibernate 3.2?

Uso o Hibernate 3.0

Hm, se não me engano no 3.2 esta exceção mostra mais detalhes como o nome da propriedade duplicada e em qual entidade o problema ocorreu.

E agora eu vi, está faltando o mapeamento da classe PixelData.

Abaixo segue o erro exibido pelo Hibernate 3.2:

[code]org.hibernate.InvalidMappingException: Could not parse mapping document from resource com/persistencia/ct/Ct.hbm.xml

at org.hibernate.cfg.Configuration.addResource(Configuration.java:569)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1584)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1552)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1531)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1505)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
at com.sismed.persistencia.HibernateUtil.<clinit>(HibernateUtil.java:27)
at com.sismed.controle.ControleLogin.<init>(ControleLogin.java:13)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:76)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:49)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:316)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:317)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:305)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:250)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:219)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:111)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
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.deployDescriptor(HostConfig.java:589)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:536)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:471)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)

Caused by: org.hibernate.MappingException: property mapping must defined a name attribute [com.persistencia.ct.Ct]
at org.hibernate.cfg.HbmBinder.createProperty(HbmBinder.java:2161)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2141)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2031)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:359)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:273)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:144)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)[/code]

Ainda não achei o erro -_-

De qualquer forma, por que usa duas notações diferentes para declarar o many-to-one na mesma classe?
Assim:

<many-to-one name="exame" class="com.persistencia.exame.Exame">
    <column name="Exame_CODEXA" not-null="true"/>
</many-to-one>

E assim:

    <many-to-one name="pixeldata" class="com.persistencia.pixeldata.PixelData"
        column="Pixeldata_CODPIX" 
        not-null="true"
        cascade="all"
        unique="true"/>