Ah ! ya la promesa se condiciono !

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

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

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