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

Hibernate y relaciones uno-a-varios

Estas en el tema de Hibernate y relaciones uno-a-varios en el foro de Java en Foros del Web. ¿como se hacen este tipo de relaciones? Las de varios-a-varios ya las he sacado, pero con estas estoy teniendo algunos problemas. Tengo creadas las tablas ...
  #1 (permalink)  
Antiguo 25/01/2007, 03:54
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 2 meses
Puntos: 1
Hibernate y relaciones uno-a-varios

¿como se hacen este tipo de relaciones? Las de varios-a-varios ya las he sacado, pero con estas estoy teniendo algunos problemas.

Tengo creadas las tablas y en la parte "varios" tengo el identificador de la de la parte uno "uno".

¿qué archivos de mapeo he de modificar y cómo? ¿el de la parte "varios" o el de la parte "uno"?

Gracias, un saludo
  #2 (permalink)  
Antiguo 29/01/2007, 08:22
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: Hibernate y relaciones uno-a-varios

El de la parte de los varios, por ejm en el HBM de la clase que tiene "varios" es asi:


<hibernate-mapping>
<class name="Datos.Administrador" table="Administrador">

<id name="id" type="integer" column="IdAdministrador" unsaved-value="0">
<generator class="assigned"/>
</id>
<many-to-one name="persona" column="IdPersona"/>

</class>
</hibernate-mapping>


como podras apreciar aqui es donde modificas es decir agregas el:

<many-to-one name="persona" column="IdPersona"/>


y en la clase java de "varios" deberas tambien agregar

Persona persona=new Persona;


claro deberas hacerle su Set y Get en la clase Java.


espero te sirve y me entiendas.
bye
  #3 (permalink)  
Antiguo 29/01/2007, 10:32
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Hibernate y relaciones uno-a-varios

Si que te he entendido. Muchas gracias, pero en la parte "uno" no hab´ria que poner nada??
  #4 (permalink)  
Antiguo 29/01/2007, 12:14
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: Hibernate y relaciones uno-a-varios

En la parte de uno no se pone nada.
  #5 (permalink)  
Antiguo 29/01/2007, 12:57
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Hibernate y relaciones uno-a-varios

Mu bien. Muchisimas gracias por la ayuda.

Saludos
  #6 (permalink)  
Antiguo 29/01/2007, 13:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 5 meses
Puntos: 51
Re: Hibernate y relaciones uno-a-varios

Si quieres poder navegar la relacion desde ambos extremos, lo normal es mapearla en ambos lados.
  #7 (permalink)  
Antiguo 30/01/2007, 05:37
 
Fecha de Ingreso: enero-2007
Mensajes: 156
Antigüedad: 17 años, 2 meses
Puntos: 1
Re: Hibernate y relaciones uno-a-varios

Otra preguntilla, en las relaciones que se pueden hacer con hibernate hasta ahora he visto (corregidme si me equivoco):

varios-a-varios
varios-a-uno
uno-a-uno

¿existe la relación uno-a-alguno?

Gracias por las repuestas anteriores.
  #8 (permalink)  
Antiguo 30/01/2007, 09:19
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 5 meses
Puntos: 51
Re: Hibernate y relaciones uno-a-varios

Si te refieres a la relación uno-a-varios, entonces "si" existe y es el reverso de la varios-a-uno.

Ejemplo.
varios-a-uno:
-------------
Lineas de factura -> Factura

uno-a-varios:
-------------
Factura -> Lineas de factura

Esto que parece una tontería implica que si no mapeas la relación en Hibernate, podras hacer un "lineaDeDeFactura.getFactura()" pero NO podrás hacer "factura.getLineasDeDeFactura()". Por eso es habitual declarar la relación en los dos sentidos.

S!
  #9 (permalink)  
Antiguo 09/03/2007, 18:10
Avatar de ocholetras  
Fecha de Ingreso: marzo-2007
Mensajes: 4
Antigüedad: 17 años
Puntos: 0
Mensaje Re: Hibernate y relaciones uno-a-varios

No se si sea muiy tarde mi respuesta, pero bueno las relaciones muchos a uno son unidireccionales si asi lo quieres eso quiere decir que son de una relacion hacia y otra. si es asi entonces tendras que colocar la configuracion en el mapping que corresponde a los "muchos":

por ejemplo: en los productos de un supermecado.
existen categorias de productos. cada categoria esta compuesta por muchos productos (esto es muchos a uno), pero un producto pertenece a una sola categoria(esto es uno a muchos), peros como soloqueremosrepresentar la relacion muchos a uno en el mappping de categoria agregamos lo sigiente.
Código:
<many-to-one name="producto" class="Producto" column="PRODUCTO_ID"/>
este te creara la relacion..muchos a uno..
si deseas mas informacion tengo los libros Manning Hibernate in Action en formato pdf si deceas mandame un correo y te los mado OK. bye
mail: [email protected]

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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:30.