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
