sábado, 1 de octubre de 2011

Mapeo de relaciones en hibernate

Mapeo de relación uno a uno.

Para estas relaciones se puede utilizar una foreing key o algo menos común que las dos tablas tengan similar Id.

Con una relación many-to-one podremos mapear la relación uno a uno utilizando foreing key:

 


Cuando queremos tener similar primary key debemos utilizar una relación one-to-one:

 


Para que tome el mismo key no hay que especificar la propiedad “koreing-key”

Mapeo muchos a uno

En este caso puede haber dos situaciones que sea una relación unidireccional o una relación bidireccional.

En el caso de la relación unidireccional se mapea de la siguiente manera:


      
        
     
    



   
      
   

  


En el caso de la relación bidireccional se mapea de la siguiente manera:


	
		
	
	



	
		
	
	
		
		
	



Mapeos uno a muchos

En este caso también tenemos 2 situaciones unidireccional y bidireccional.

La unidireccional se mapea de la siguiente manera:


	
		
	
	
		
		
	



	
		
	



La relación bidireccional es similar a la que vimos en many-to-one bidireccional:


	
		
	
	



	
		
	
	
		
		
	



Mapeo muchos a muchos

EL mapeo muchos a muchos siempre es bidireccional y se mapea como dos colecciones indicandole el nombre de la tabla relación, la cual va a tener los ids de las diferentes entidades; el mapeo sera como el siguiente: