Foros del Web » Programación para mayores de 30 ;) » Java »

Hibernate ¿cómo relacionar?

Estas en el tema de Hibernate ¿cómo relacionar? en el foro de Java en Foros del Web. Hola, Estoy comenzando con esto de hibernate y me he encontrado con un pequeño problema y no sé con que tipo de relación atacar el ...
  #1 (permalink)  
Antiguo 20/06/2013, 16:03
 
Fecha de Ingreso: mayo-2006
Mensajes: 137
Antigüedad: 17 años, 11 meses
Puntos: 1
Hibernate ¿cómo relacionar?

Hola,

Estoy comenzando con esto de hibernate y me he encontrado con un pequeño problema y no sé con que tipo de relación atacar el problema, tengo lo siguiente:

2 tablas : Grupo y Empleado

Código:
Grupo:
id
nombre
fecha
Código:
Empleado
id
nombre
apat
amat
grupo
1 empleado tiene 1 solo grupo, la relación la tiene la tabla Empleado en el campo "grupo", el sistema da la opción de crear por separado grupos y empleados y desde otro módulo tu puedes vincular grupos con empleados, para mi es una relación 1 a 1 pero leyendo Hibernate 1 a 1 es cuando tu tienes ambos campos llave en ambas tablas o en una relación externa que no es mi casa, la relación muchos a uno no aplica por que me requiere una lista entonces no sé como mapear esta relación, al final el objetivo es hacer un left join que obtenga "Todos los empleados con o sin grupo".

Si conocen de algún ejemplo donde explique esto o cual relación usar se los agradecería.
  #2 (permalink)  
Antiguo 20/06/2013, 20:40
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 12 años, 4 meses
Puntos: 34
Respuesta: Hibernate ¿cómo relacionar?

Creo que lo correcto seria tener 3 tablas:

Empleado:
Código text:
Ver original
  1. id
  2. nombre
  3. apat
  4. amat

Grupo:
Código text:
Ver original
  1. id
  2. nombre
  3. fecha

grupo_empleado:
Código text:
Ver original
  1. id
  2. empleado_id
  3. grupo_id

Estableciendo que la clave empleado_id de la tabla grupo_empleado sea unica, de esa manera cada empleado puede tener 0 o 1 grupo.
  #3 (permalink)  
Antiguo 21/06/2013, 02:39
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Hibernate ¿cómo relacionar?

Veo aquí dos cosas:

La primera:
Según lo que tú quieres, sería una relación de muchos a uno.
- Un empleado solo puede tener un grupo
- Un grupo puede tener muchos empleados

Donde:
Tabla Empleado
Código :
Ver original
  1. Id
  2. Nombre
  3. Apellido
  4. Edad
  5. Id_Grupo

Tabla Grupo
Código :
Ver original
  1. Id
  2. Nombre


La segunda:
Y si algun día por cualquier motivo, el que sea, tienes que añadir una Persona a más de un grupo? ¡Houston tenemos un problema!

Para prevenir lo que es muy probable que te pase el día de mañana, tienes que hacer lo que te indica LuisChavezB.

- Varias Personas pueden tener varios Grupos.
- Varios Grupos pueden contener varias Personas.

Relación muchos a muchos.

Saludos
  #4 (permalink)  
Antiguo 25/06/2013, 10:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 137
Antigüedad: 17 años, 11 meses
Puntos: 1
Respuesta: Hibernate ¿cómo relacionar?

Gracias por sus respuestas y tienen toda la razón, en realidad la bd ya esta hecha y tiene muchos detalles como estos pero en fin, trataré que la relación se haga así y seguro me quedará como lo he estado intentando, soy nuevo en esto de hibernate así que voy a pasos pequeños. Saludos

Etiquetas: hibernate
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:53.