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
