La unica condicion es que me lo recuerdes cuando nos veamos.

----------------------------------
Carlos Peix

2011/6/4 Nestor Rodriguez <[email protected]>

> De nada.
>
> PS:  Todos son testigos de la promesa de la cerveza :P
>
> 2011/6/4 Carlos Peix <[email protected]>
>
>> Hola Nestor, te agradezco inmensamente el tiempo que has dedicado.
>>
>>
>> 2011/6/3 Nestor Rodriguez <[email protected]>
>>
>>> 2- En el mapeo de <union-subclass> si fue necesario colocar Abstract =
>>>
>>  "True" de lo contrario verificando con el SchemaExport SI generaria una
>>>
>>> tabla para Party.
>>>
>> Estas en lo cierto, como en este proyecto tengo activada la generacion
>> automatica del esquema, no me habia dado cuenta. Agregue el abstract="true"
>> y ya no genera la tabla Party.
>>
>>
>>> 3- En el mapeo de Customer->Party el <many-to-one> tiene el property
>>> ="Party" pero deberia ser property="Actor".
>>>
>> 4- En tu clase de Customer existe una propiedad de tipo Party llamada
>>> Actor.
>>>  Asi que tienes que cambiar el query para que el join sea c.Actor en
>>> lugar de c.Party.
>>>
>>
>> Es cierto, esto fue un error mio ya que luego de un par de mails pegue el
>> nuevo mapping sobre un modelo ya cambiada. De otra manera no hubiese
>> compilado el mapping. Disculpas por la confusion.
>>
>> Repase tus recomendaciones en mi codigo y todo estaba igual, la cosa es
>> que ahora el query funciona. Estuve revisando varias versiones en el repo
>> local de Hg y no encuentro ninguna cambio determinante. Creo que podemos
>> llamarlo magia.
>>
>> Pego el codigo definitivo para referencia de los demas:
>>
>> Modelo:
>>
>> public abstract class Party : Entity {
>>  ...
>> }
>>
>>  public class Company : Party {
>>  ...
>>  }
>>
>> public class Person : Party {
>>  ...
>>  }
>>
>> public class Customer : Entity {
>> private Party party;
>>  ...
>> }
>>
>> public class Order : Entity
>> {
>> private Customer customer;
>>  ...
>> }
>>
>> Mappings:
>>
>> <class name="Party" abstract="true">
>> <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>
>>
>> <class name="Customer" table="Customers">
>>  <id name="Id">
>> <generator class="guid.comb"/>
>>  </id>
>>
>> <many-to-one name="Party" cascade="save-update"
>>  unique="true" column="PartyId"/>
>> </class>
>>
>> <class name="Order" table="Orders">
>> <id name="Id">
>>  <generator class="guid.comb"/>
>> </id>
>>
>> <property name="Ammount"/>
>> <many-to-one name="Customer" column="CustomerId"/>
>>  </class>
>>
>> Muchas gracias Nestor, de debo una cerveza.
>>
>> ----------------------------------
>> 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
>

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