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
