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
