Hola Foro, bueno quiza la pregunta cause alguna confusión primero paso
a descrir este caso...
Tengo una clase "Persona" y una clase "Empleado", en donde Empleado
hereda de Persona: A continuacion el mapeo:

        <class name="Persona" table="PERSONA" lazy="true" >
                <id name="codigo" unsaved-value="0" type="long">
                        <column name="CODPERSONA" not-null="true" 
sql-type="number"/>
                        <generator class="sequence">
                                <param name="sequence">SQ_PERSONA</param>
                        </generator>
                </id>
                <property name="Apellidos" type="string" access="field"
not-null="false">
                        <column name="APELLIDOS" not-null="false" length="100"/>
                </property>
                <property name="nombres" type="string" access="field"
not-null="false">
                        <column name="NOMBRES" not-null="false" length="100"/>
                </property>

                 <!-- Aqui esta el Empleado -->
                <joined-subclass name="Empleado" table="EMPLEADO">
                      <key column="CODEMPLEADO"/>
                      <property name="puestoTrabajo" type="string"
access="field" not-null="false">
                             <column name="PUESTOTRABAJO"
not-null="false" length="100"/>
                      </property>
                </joined-subclass>
        </class>

EN TABLAS: ESTO ESTA MAS O MENOS ASI:
PERSONA:
=========
CODPERSONA (PK)
APELLIDOS
NOMBRES

EMPLEADO:
==========
CODEMPLEADO (PK)(FK)
PUESTOTRABAJO

Ahora realizando pruebas de insercion para crear una empleado no tengo
problemas...
PERO si primero solo inserto una persona y luego en otro momento quiero
crear un empleado y asignarle al codigo del empleado un codigo de una
persona existente lo que hace el hibernate es crearme un REGISTRO NUEVO
en persona y luego me crea el empleado asociado a ese codigo de persona
generado.

algo como esto....

                Empleado empleado = new Empleado();

                empleado.CodEmpleado = 171; //codigo de un persona existente en 
la
BD.

                empleado.PuestoTrabajo = "PLOMERO";

                empleadoDao.crear(empleado);


... algún comentario al respecto por favor....


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

Responder a