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

[SOLUCIONADO] Relaciones entre tablas con hibernate 4.3.8 en eclipse

Estas en el tema de Relaciones entre tablas con hibernate 4.3.8 en eclipse en el foro de Java en Foros del Web. Hola, Tengo un esquema de base de datos con diversas tablas y relaciones entre ellas. Cree todas mis clases, y lo hbm.xml asi como el ...
  #1 (permalink)  
Antiguo 18/03/2015, 14:32
 
Fecha de Ingreso: agosto-2011
Mensajes: 73
Antigüedad: 12 años, 8 meses
Puntos: 0
Exclamación Relaciones entre tablas con hibernate 4.3.8 en eclipse

Hola,

Tengo un esquema de base de datos con diversas tablas y relaciones entre ellas.

Cree todas mis clases, y lo hbm.xml asi como el hibernate configure, pero las relaciones no parecen estar funcionando tal parece que en este version de hibernate las relaciones se hacen de manera diferente

porq yo use un tutorial pero no me funciono me arrojo todo tipo de error con las relaciones.

Alguien sabe cual es la manera correcta de crear relaciones muchos a muhcos y uno a muchos en hibernate 4.3.8, o algun tutorial que sea acertado por favor

Gracias
  #2 (permalink)  
Antiguo 19/03/2015, 10:53
 
Fecha de Ingreso: diciembre-2014
Ubicación: Lima
Mensajes: 68
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Relaciones entre tablas con hibernate 4.3.8 en eclipse

hola.
Cuando es de muchos a uno lo hago asi:
Código XML:
Ver original
  1. <many-to-one name="articulo" class="com.jonathan.modelo.Articulo" fetch="select">
  2.       <column name="df_articulo" not-null="true" />
  3. </many-to-one>
Es para una tabla detalle, en la que habran varias lineas de articulos

Cuando es de muchos a muchos lo hago asi.
Se crea una tabla que rompa esa relacion, digamos, en un curso pueden haber uno o varios alumnos, pero un alumno puede estar en un o varios cursos. ahi se crea una tabla llamada
CursoXAlumno, la cual solo contiene el ID del curso y el ID del alumno

Para mas info aqui:
https://docs.jboss.org/hibernate/orm/3.5/reference/es-ES/html/

Aconsejo crear una bd simple con una cuantas tablas y relacionada y usar el hibernate para generar los POJO, a partir de ahi guiarse con la sintaxis XML, yo hago eso.
  #3 (permalink)  
Antiguo 23/03/2015, 15:56
 
Fecha de Ingreso: agosto-2011
Mensajes: 73
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Relaciones entre tablas con hibernate 4.3.8 en eclipse

Disculpa la demora al revisar el tema, si todavia esta activo, he intentado hacer eso, ya te voy a colocar lo que inserto en cada hbm.xml para el mapeo de las tablas.

Esta es mi clase proyecto, que
Código Java:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3.         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4.         "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  5.        
  6. <hibernate-mapping package="org.systrix.timetracker.domain">
  7.     <class name="Projects" table="PROJECTS">
  8.         <id name="id">
  9.             <generator class="native"/>
  10.         </id>
  11.        
  12.         <property name="project_name"/>
  13.         <property name="description"/>
  14.         <property name="registration_date" type="timestamp"/>
  15.     </class>
  16. </hibernate-mapping>

Y esta es la hbm.xml de Tareas
Código Java:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC
  3.         "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  4.         "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
  5. <hibernate-mapping package="org.systrix.timetracker.domain">
  6.     <class name="Tasks" table="TASKS">
  7.         <id name="id">
  8.             <generator class="native"/>
  9.         </id>
  10.        
  11.         <property name="tasks_name"/>
  12.         <property name="description"/>
  13.         <property name="registration_date" type="timestamp"/>
  14.        
  15.         <many-to-one name="User" column="user_id" class="Users" not-null="true" />
  16.          
  17.         <many-to-one name="Project" column="project_id"  not-null="true" />
  18.    </class>
  19. </hibernate-mapping>

Existe una relacion uno a mucho entre proyectos y tareas, al hacer el mapeo de las tablas de esta forma en la tabla tareas se crea la clave foranea que referencia a proyecto, pero cuando intento obtener la lista de tareas desde una entidad proyecto esta esta vacia, al parecer la relacion se creo unidireccional, como puedo resolver esto ??

O si no como puedo obtener la lista de tareas asociadas a un proyecto desde la tabla tareas ?? yo intente con un consulta donde me devolviera los registros cuyo campo project_id, la clave foranea, sea igual a la del proyecto, pero no me resulto.
  #4 (permalink)  
Antiguo 24/03/2015, 13:17
 
Fecha de Ingreso: diciembre-2014
Ubicación: Lima
Mensajes: 68
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Relaciones entre tablas con hibernate 4.3.8 en eclipse

Coloca la consulta que hiciste y lo que arroja la consola del eclipse, en base ahi, poder ayudar.
  #5 (permalink)  
Antiguo 25/03/2015, 09:30
 
Fecha de Ingreso: agosto-2011
Mensajes: 73
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Relaciones entre tablas con hibernate 4.3.8 en eclipse

Muchas gracias por tu ayuda pero ya he logrado resolver el problema, era un problema en el archivo que mapeaba las clases.

Etiquetas: eclipse, hibernate, relaciones
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 15:14.