Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Jpa y claves de las tablas

Buenas, tengo una duda sobre como mapea jpa la herencia en una base de datos:

Supongamos que hay dos clases: Usuario y Empleado. Empleado hereda de Usuario y la estrategia a usar en Usuario es @Inheritance(strategy=InheritanceType.JOINED), es decir, una tabla para la clase base y luego una tabla por cada clase hija. Según veo en la base de datos se genera una tabla para Usuario y otra para Empleado, pero la tabla de Empleado, la Id que tiene es una clave externa de Usuario (que la debe de usar como clave primaria también?). ¿Es correcta esta forma de mapear o debería tener una id propia Empleado?

He estado probando un poco y funcionar funciona, es decir, si borro un Empleado se borra automáticamente la entrada en la tabla de Usuario con esa misma Id, pero no estoy seguro si esta es una buena forma o no por no tener una clave primara propia la clase Empleado.

Gracias de antemano y un saludo.

diciembre 28, 2012 | Unregistered CommenterJuan

Me respondo a mi mismo: está bien. He mirado en un libro que he topado por casa y explica que en esta estrategia las llaves primarias de las tablas de las clases hijas son las llaves primarias de la clase padre.

Un saludo.

diciembre 28, 2012 | Unregistered CommenterJuan