Tema: hibernate
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/07/2008, 08:39
Bunburyscom
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 10 meses
Puntos: 10
Respuesta: hibernate

Recuerda que para hacer una relacion muchos a muchos con Hibernate deberas tener una tabla intermedia entre las dos tablas.

Por ejemplo, una relacion entre Alumnos y Materias, un alumno puede tener muchas materias y cada materia pueden tener muchos alumnos.

Supongamos que en la tabla alumnos tienes idAlumno, nombre y fecha y en la tabla Materias tienes idMateria y nombre, entonces necesitaras crear una tabla intermedia que contendria las claves de las dos tablas.

Entonces, la tabla alumno_materia tendria solo dos columnas: idAlumno, idMateria

Por lo tanto tu mapeo de alumno quedaria asi:

<hibernate-mapping>
<class name="Alumno" table="alumno">
<id name="idAlumno" column="idAlumno">
<generator class="increment"/>
</id>
<property name="nombre" column="nombre"/>
<property name="fecha" column="fechaIngreso"/>

<set name="materias" table="alumno_materia">
<key column="idAlumno"/>
<many-to-many column="idMateria" class="Materia"/>
</set>
</class>
</hibernate-mapping>

Y tu mapeo de materia quedaria asi:
<hibernate-mapping>
<class name="Materia" table="materia">
<id name="idMateria" column="idMateria">
<generator class="increment"/>
</id>
<property name="nombre" column="nombre"/>

<set name="alumnos" table="materia_alumno">
<key column="idMateria"/>
<many-to-many column="idAlumno" class="Alumno"/>
</set>
</class>
</hibernate-mapping>

Espero te haya ayudado, cualquier cosa aqui estamos!

saludos!