He intentado realizar el <subclass><join> pero como mis elementos
tienen a su vez colecciones no puedo realizarlo.

On 28 ene, 13:05, Fabio Maulo <[email protected]> wrote:
> En ORM Table-per-concrete-class y Table-per-class no necesitan una columna
> discriminator porque el discriminator es la tabla misma.
> Sinembargo en NH es posible una tecnica mixsta pervista para aquello casos
> en los cuales se empezo mapeando table-per-class-hierarchy pero se requiere
> que una o mas clases esten separadas.
> La tecnica mixta se logra combinando <subclass><join>.
>
> El 28 de enero de 2010 05:26, Victor Mingueza
> <[email protected]>escribió:
>
>
>
>
>
> > Si no me equivoco, usando subclass no puedo indicar la tabla a la cual
> > quiero que mapee mi objeto, con lo que estaría usando la estrategia de
> > Table per class Hierarchy, y me mapearia todas las clases concretas
> > sobre la misma tabla y no es el objetivo.
>
> > El objetivo es usar una tabla por cada clase concreta, las cuales
> > heredan todas de una misma interfaz, pero sino me equivoco aquí no
> > puedo usar identity para que el SGBD, se encargue de generar mi clave
> > primaria. En la cual no quiero que hayan saltos sino que sean números
> > correlativos para cada una de mis tablas. ¿Es esto posible? y si
> > podéis darme alguna guía ya que en la documentación no veo ejemplos
> > sobre esto.
>
> > Pensándolo bien el discriminador no seria necesario. Ya que yo podría
> > hacer una query para obtener un objeto concreto con una consulta del
> > tipo s.Get(typeof(ConcreteAnexo1)(1), cuando sepa que es de este tipo,
> > en lugar de algo como esto s.Get(typeof(IAnexable)(1,"ConcreteAnexo1")
>
> > Un saludo
>
> > On 27 ene, 19:30, Fabio Maulo <[email protected]> wrote:
> > >http://nhforge.org/doc/nh/en/index.html#mapping-declaration-subclass
> > > que el campo discriminator sea parte de la PK no lo vas a encontrar ya
> > que
> > > no es la def. en ORM.
> > > En ORM el POID es univoco adentro una gerarquia de clases o univoco en
> > todo
> > > el dominio así que no hace falta usar una clave compuesta para eso.
>
> > > El 27 de enero de 2010 14:03, Victor Mingueza
> > > <[email protected]>escribió:
>
> > > > Hola Buenas a todos,
>
> > > >  Quería saber si exista la posibilidad de usar esta opción en
> > > > NHibernate, ya que en la documentación no he visto ningún ejemplo de
> > > > como hacerlo y no me parece en principio una forma  tan rara de
> > > > realizar la herencia.
>
> > > >  Os paso a explicar el caso para que quede un poco mas claro. Mi
> > > > sistema permite que unos objetos en concretos sean Anexables a otros,
> > > > es decir
>
> > > > Mi elemento A tiene una colección de objetos Anexos los cuales pueden
> > > > ser del tipo ConcreteAnexo1, ConcreteAnexo2...los cuales implementan
> > > > todos las interfaz Anexos que define una serie de propiedades comunes
>
> > > > Pero mis ConcreteAnexo no quiero que compartan el mismo identificador,
> > > > es decir en la tabla ConcreteAnexo1 no quiero que hayan saltos en el
> > > > Id, porque este se ha usado en un registro de ConcreteAnexo2.
>
> > > > Sino que la clave de mi table ConcreteAnexo1 fuera solo el
> > > > identificador mas el campo discriminador que no sera parte de la clave
> > > > primaria. Aunque NHibernate si use este discriminador primero para
> > > > diferenciar entre las distintas tablas cuando se haga una consulta por
> > > > un Id concreto evitando hacer la select de cada una de las tablas
> > > > ConcreteAnexo. y por ultimo usar ambos campos la PK y Discriminador
> > > > para diferenciar varios objetos  de tipos concreto distintos.
>
> > > > Un saludo y gracias por vuestro tiempo.
>
> > > > --
> > > > Para escribir al Grupo, hágalo a esta dirección:
> > > > [email protected]
> > > > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> > > --
> > > Fabio Maulo
>
> > --
> > Para escribir al Grupo, hágalo a esta dirección:
> > [email protected]
> > Para más, visite:http://groups.google.com/group/NHibernate-Hispano
>
> --
> Fabio Maulo

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a