Hola a todos estoy usando Hibernate 3 y tengo 2 clases : Persona y Empleado:
Persona es una generalizacion y Empleado es una especializacion,es decir Empleado hereda de Persona.En mi base de datos tambien tengo 2 tablas una para Persona y otra para Empleado. He creado un objeto Persona, ahora lo que quiero es que este objecto Persona sea tambien un Empleado, para esto hago algo asi:
Empleado empl = new Empleado();
empl.setId(1254); // 1254 es el còdigo del objeto Persona.
empl.setCargo("Asistente");
empledoDao.Crear(empl);
pero cuando hago esto lo que sucede es que se crea un nuevo registro en Persona (cosa que no deberia)... a continuacion escribo el mapeo que estoy utilizando...
<class name="Persona" table="PERSONA">
<id name="codigo" unsaved-value="0" type="long">
<column name="CODPERSONA" />
<generator class="sequence">
<param name="sequence">SQ_PERSONA</param>
</generator>
</id>
<property name="nombre" type="string" column name="NOMBRE" />
<property name="apellidoPat" type="string" column name="APEPAT" />
<property name="apellidoMat" type="string" column name="APEMAT"/>
<!-- Empleado -->
<joined-subclass name="Empleado" table="EMPLEADO" >
<key column="CODEMPLEADO"/>
<property name="cargo" type="string" column name="CARGO"/>
</joined-subclass>
</class>
espero me puedan ayudar gracias,