Para el mapping y las tablas: http://nhforge.org/doc/nh/en/index.html#inheritance-strategies
y dale una mirada a la tabla de 8.1 ( http://nhforge.org/doc/nh/en/index.html#inheritance-limitations) que te puede ayudar a decidir que estrategia de mapeo usar. saludos. nelo 2011/6/3 Carlos Peix <[email protected]> > Hola Nestor, > > 2011/6/3 Nestor Rodriguez <[email protected]> > >> 1. Si incluyes abstract=true en un mapeo <union-sub-class> no te va a >> generar tabla para la clase abstracta. > > > Supongo que quisiste escribir <union-subclass>, en ese caso, me queda el > mapeo que copio a continuacion. No se requiere colocar abstract="true" y, > efectivamente, no requiere una tabla para Party. Esto ya lo habia comentado > en un post anterior. > > <class name="Party"> > <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> > > 2. El incluir el abstract=true en un mapeo de <subclass> DEBES colocar la >> tabla en la definicion de la clase <class name=Party table=Parties> ya que >> esta estrategia persiste todo en una sola tabla. >> > > Entiendo que aca estaas hablando de este otro enfoque para la persistencia: > > <class name="Party" abstract="true"> > <id name="Id"> > <generator class="guid.comb"/> > </id> > </class> > > <subclass name="Person" extends="Party" table="People"> > <property name="FirstName"/> > <property name="LastName"/> > </subclass> > > <subclass name="Company" extends="Party" table="Companies"> > <property name="CompanyName"/> > </subclass> > > En este caso no persiste todo en una sola tabla sino que es una tabla por > cada clase (incluso la abstracta). > > 3. Me surge la duda de si NHibernate te coloca automaticamente un >> <discriminator-column> y los <discriminator-values> cuando mapeas el <class> >> y las <subclass> respectivamente. Pensaria que deberias incluirlos. >> > > Entiendo que el discriminator solo es necesario en caso de que tengas una > tabla para la clase abstracta o una tabla para toda la jerarquia. > > >> 4. Despues de esto verifica de nuevo el query. >> > > Ya he hecho la verificacion con estos dos mappings y no funciona en ninguno > de los dos casos, siempre con el mismo error. > > >> >> Saludos >> > > Muchas gracias > > ---------------------------------- > 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
