Para el mapping y las tablas:
 http://nhforge.org/doc/nh/en/index.html#inheritance-strategies

y dale una mirada a la tabla de 8.1 (
http://nhforge.org/doc/nh/en/index.html#inheritance-limitations) que te
puede ayudar a decidir que estrategia de mapeo usar.

saludos.
nelo

2011/6/3 Carlos Peix <[email protected]>

> Hola Nestor,
>
> 2011/6/3 Nestor Rodriguez <[email protected]>
>
>> 1.  Si incluyes abstract=true en un mapeo <union-sub-class> no te va a
>> generar tabla para la clase abstracta.
>
>
> Supongo que quisiste escribir <union-subclass>, en ese caso, me queda el
> mapeo que copio a continuacion. No se requiere colocar abstract="true" y,
> efectivamente, no requiere una tabla para Party. Esto ya lo habia comentado
> en un post anterior.
>
> <class name="Party">
>  <id name="Id">
> <generator class="guid.comb"/>
> </id>
>  <union-subclass name="Person" table="People">
> <property name="FirstName"/>
>  <property name="LastName"/>
> </union-subclass>
> <union-subclass name="Company" table="Companies">
>  <property name="CompanyName"/>
> </union-subclass>
> </class>
>
> 2.  El incluir el abstract=true en un mapeo de <subclass> DEBES colocar la
>> tabla en la definicion de la clase <class name=Party table=Parties> ya que
>> esta estrategia persiste todo en una sola tabla.
>>
>
> Entiendo que aca estaas hablando de este otro enfoque para la persistencia:
>
>  <class name="Party" abstract="true">
> <id name="Id">
>  <generator class="guid.comb"/>
> </id>
> </class>
>
> <subclass name="Person" extends="Party" table="People">
> <property name="FirstName"/>
>  <property name="LastName"/>
> </subclass>
>
> <subclass name="Company" extends="Party" table="Companies">
>  <property name="CompanyName"/>
> </subclass>
>
> En este caso no persiste todo en una sola tabla sino que es una tabla por
> cada clase (incluso la abstracta).
>
> 3. Me surge la duda de si NHibernate te coloca automaticamente un
>> <discriminator-column> y los <discriminator-values> cuando mapeas el <class>
>> y las <subclass> respectivamente.  Pensaria que deberias incluirlos.
>>
>
> Entiendo que el discriminator solo es necesario en caso de que tengas una
> tabla para la clase abstracta o una tabla para toda la jerarquia.
>
>
>> 4. Despues de esto verifica de nuevo el query.
>>
>
> Ya he hecho la verificacion con estos dos mappings y no funciona en ninguno
> de los dos casos, siempre con el mismo error.
>
>
>>
>> Saludos
>>
>
> Muchas gracias
>
> ----------------------------------
> Carlos Peix
>
> --
> Para escribir al Grupo, hágalo a esta dirección:
> [email protected]
> Para más, visite: http://groups.google.com/group/NHibernate-Hispano
>

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