Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2013, 00:28
Drummer
 
Fecha de Ingreso: diciembre-2012
Ubicación: Madrid
Mensajes: 21
Antigüedad: 11 años, 10 meses
Puntos: 0
Mejores Practicas: Insertar relacion N:M en Java

Hola a todos,

estoy desarrollando un programa en Java que inserta datos en MySQL, y me preguntaba qué es lo más recomendable (las mejores prácticas) para insertar datos en una tabla intermedia.

Como os imaginaréis, la relación es rollo Alumno ---------------- Profesor
|
|
Alumno_Profesor


Por motivos que no vienen al caso, el objeto alumno tiene todos sus profesores almacenados en un array, y el objeto profesor tiene todos los Alumnos almacenados en sendo array.

La cosa es cuál es el mejor algoritmo de inserción de datos en la tabla Alumno_Profesor, yo he pensado una cosa así:

if (alumno no está insertado) {
inserto alumno;

for (recorro los profesores que tiene almacenados el alumno)
{
if (el profesor no está insertado)
{
inserto el profesor
inserto el id del alumno y el id del profesor en la tabla intermedia
}

}
}


o, como alternativa:



if (alumno no está insertado) {
inserto alumno;

for (recorro los profesores que tiene almacenados el alumno)
{
if (el profesor no está insertado)
{
inserto el profesor

if (la tabla insermedia no tiene la entrada de ese alumno y ese profesor)
{
inserto el id del alumno y el id del profesor en la tabla intermedia
}
}

}
}




y luego el mismo rollo pero a la inversa del profesor.

La verdad es que así a vote pronto no se me ocurre otra manera, vosotros como haceis el algoritmo de inserción de la tabla intermedia ?

Gracias a todos