Hola a todos, para ver quien me puede ayudar.

Tengo el siguiente problema:

Estoy creando dos entidades en diferentes ensamblados, una de ellas
posee una clave compuesta y la otra el set de esa clave compuesta,
asi:


Clase con clave compuesta, en assembly Entidades.Comunes:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
        namespace="PDVSA.Negocio.Entidades.Comunes"
        assembly="Entidades.Comunes"
        default-lazy="true" >
        <class
name="PDVSA.Negocio.Entidades.Comunes.ResultadosEsquemaRevestidor"
          table="T_ResultadosEsquemaRevestidor">
                <meta
attribute="extends">PDVSA.Business.Entities.Core.AbstractEntity</meta>
                <meta attribute="extends-
composite">PDVSA.Business.Entities.Core.CompositeID</meta>

    <composite-id unsaved-value="any">
      <key-property name="PK_CodigoTuberia" column="PK_CodigoTuberia"
type="Int64" />
      <key-property name="PK_CodigoPropiedadEscenario"
column="PK_CodigoPropiedadEscenario" type="String" length="32"/>
    </composite-id>

    <property name="Longitud" column="Longitud" type="double">
    </property>

    <property name="Posicion" column="Posicion" type="Int64">
    </property>

   </class>
</hibernate-mapping>


Clase con clave generada, en assembly Entidades.Proyecto esta posee
set a la clase anterior ResultadosEsquemaRevestidor:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
        namespace="PDVSA.Negocio.Entidades.Proyecto"
        assembly="Entidades.Proyecto"
        default-lazy="true" >
        <class name="PDVSA.Negocio.Entidades.Proyecto.PropiedadEscenario"
         table="T_PropiedadEscenario">
                <meta
attribute="extends">PDVSA.Business.Entities.Core.AbstractEntity</meta>
                <meta attribute="default-property-tostring">ID</meta>
                <meta attribute="field-browsable">false</meta>
                <meta attribute="field-readonly">true</meta>
    <id name="ID" column="FK_CodigoPropiedadEscenario" type="String"
length="32"
      unsaved-value="0">
      <generator class="foreign">
        <param name="property">FK_CodigoPropiedadEscenario</param>
      </generator>
    </id>

<one-to-one name="FK_CodigoPropiedadEscenario"
class="PDVSA.Negocio.Entidades.Proyecto.DatosProyectoEscenario"
foreign-key="PK_CodigoProyectoEscenario" constrained="true"
lazy="proxy" cascade="delete">
</one-to-one>

    <property name="DescripcionPropiedadEscenario"
column="DescripcionPropiedadEscenario" type="String"
length="1024">
    </property>

    <set name="ResultadosEsquemaRevestidors"
table="T_ResultadosEsquemaRevestidor" inverse="true" optimistic-
lock="true" >
      <key foreign-key="PK_CodigoPropiedadEscenario"
column="PK_CodigoPropiedadEscenario" />
      <one-to-many
class="PDVSA.Negocio.Entidades.Comunes.ResultadosEsquemaRevestidor,
Entidades.Comunes"/>
    </set>

  </class>
</hibernate-mapping>

El problema es que al tratar de generar la estructura de base de datos
me da el siguiente error de mapeo:

{"Could not compile the mapping document:
PDVSA.Negocio.Entidades.Schemas.PropiedadEscenario.hbm.xml"}

Message "associated class not found:
PDVSA.Negocio.Entidades.Comunes.ResultadosEsquemaRevestidor,
Entidades.Comunes"

A pesar de que en el ensamblado Entidades.Proyecto puse la referencia
a Entidades.Comunes me da ese error. Como se añadiria dos ensamblados
a un solo archivo hbm.xml? es posible, o como puedo hacer que esta
excepcion no salga y me permita crear las tablas de base de datos.

Muchas gracias.

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a