Le salio barato La próxima que sea un barril :P
El 4 de junio de 2011 11:49, Nestor Rodriguez <[email protected]>escribió: > 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
