ya habia probado con Table per class hierarchy pero no lo pude solucionar. ahora probare usando discriminador.
On 24 ago, 13:20, Diego Mijelshon <[email protected]> wrote: > No le estás indicando a NHibernate en ningún lugar cómo manejar las > subclases.http://nhforge.org/doc/nh/en/index.html#inheritance > > Diego > > 2010/8/24 julio maldonado <[email protected]> > > > Hola tengo la clase agente y 2 subclases agente1 y agente2. > > todo agente es agente1 o agente2 > > agente1 tiene un Legajo que es una propiedad > > agente2 tiene un Legajo o varios > > el tema es que cuando traigo un agente quiero que me traiga los datos > > del Agente1 o Agente2 segun corresponda. > > probe hacerlo con subclases y con interface sin exito por cierto. > > Alguna sugerencia? > > > *********************** agente ************************ > > > <class name="Agente" table="Agente" lazy="false"> > > <id name="Id" column="IdAgente"> > > <generator class="native" /> > > </id> > > <discriminator column="IdDiscriminador" type="String"/> > > > <property name="FechaBaja" not-null="false"/> > > <property name="FechaInicioActividad" /> > > <property name="FechaFinActividad" not-null="false"/> > > <property name="Usuario" not-null="true"/> > > <property name="Fecha" not-null="true"/> > > <property name="UsuarioModificacion" /> > > <property name="FechaModificacion" /> > > > <many-to-one name ="Persona" column ="IdPersona" /> > > <many-to-one name="DomicilioParticular" not-null="true" > > column="IdDomicilioParticular" > > > class="mds.general.core.domain.entidades.Domicilio" /> > > <many-to-one name="DomicilioLaboral" not-null="true" > > column="IdDomicilioLaboral" > > > class="mds.general.core.domain.entidades.Domicilio"/> > > > ***************************** Agente1 > > ************************************* > > > <class name="Agente1" table="Agente1"> > > <id name="Id" column="IdAgente1"> > > <generator class="native" /> > > </id> > > > <property name="Legajo" column="Legajo" not- > > null="true" /> > > > <many-to-one name="Agente" column="IdAgente" not- > > null="true" /> > > <many-to-one name="Oficina" column="IdOficina" not- > > null="true" /> > > <many-to-one name="Categoria" column="IdCategoria" not- > > null="true" /> > > <many-to-one name="RegimenHorario" column="IdRegimenHorario" not- > > null="true" /> > > <many-to-one name="Agrupamiento" column="IdAgrupamiento" not- > > null="true" /> > > <many-to-one name="Planta" column="IdPlanta" /> > > > ***************************** Agente2 > > ************************************* > > > <class name="Agente2" table="Agente2"> > > <id name="Id" column="IdAgente2"> > > <generator class="native" /> > > </id> > > <property name="Reserva"/> > > <property name="Legajo" /> > > <property name="CantidadHoras" /> > > <property name="RegistraAsistencia" /> > > > <many-to-one name="Asignacion" column="IdAsignacion" > > /> > > <many-to-one name="Agente" column="IdAgente" not- > > null="true" /> > > <many-to-one name="Reemplazo" column="IdReemplazo" > > /> > > <many-to-one name="PenaDisciplinaria" > > column="PenaDisciplinaria" /> > > > <bag name="Oficinas" lazy="true" cascade="all-delete-orphan" > > inverse="false"> > > <key column="Id2" /> > > <one-to-many class="Oficina" /> > > </bag> > > > </class> > > > ******************************** clase Agente1 > > ***************************** > > public class Agente1 : Agente > > > private int _id; > > private string _legajo; > > private Oficina _oficina; > > private Categoria _categoria; > > private RegimenHorario _regimenHorario; > > private Agrupamiento _agrupamiento; > > private Planta _planta; > > > ******************************** clase > > Agente2***************************** > > > public class Agente2 > > { > > #region Variables > > > private int _id; > > private Asignacion _asignacion; > > private Agente _agente; > > private TipoDeDocente _tipoDeDocente; > > private Reemplazo _reemplazo; > > private PenaDisciplinaria _penaDisciplinaria; > > private bool _reserva; > > private string _legajo; > > private int _cantidadHoras; > > private bool _registraAsistencia; > > private IList<Oficina> _oficinas; > > > -- > > 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
