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

Responder a