Está en la página 1de 20

APLICACIONES

DISTRIBUIDAS
PERSISTENCIA (JPA)
Relaciones entre Entidades

Profesor: M. Sc. Osvaldo Pereira Barzaga


opereira@ups.edu.ec
Objetivos

3. APLICACIONES WWW EN EL SERVIDOR


9. Persistencia (JPA).
a. Relacin OneToOne.
b. Relacin OneToMany & ManyToOne.
c. Relacin ManyToMany
Introduccin

Todas las relaciones en Java y JPA son


unidireccionales, ya que si un objeto de origen hace
referencia a un objeto de destino, no hay garanta
de que el objeto de destino tambin tenga una
relacin con el objeto de origen.

Esto es diferente de una base de datos relacional,


en la que las relaciones se definen a travs de
claves externas y la consulta de tal manera que la
consulta inversa siempre existe.
OneToOne
La relacin OneToOne est incluida en el paquete de
JAVA:
javax.persistence.OneToOne

En una relacin de OneToOne el objeto origen tiene un


atributo que hace referencia a otro objeto destino, si
ese objeto de destino tiene la relacin inversa con el
objeto de origen, tambin ser una relacin del tipo
OneToOne.
OneToOne
OneToOne
OneToOne
OneToMany & ManyToOne
La relacin OneToMany & ManyToOne estn incluidas
en los paquetes de JAVA:
javax.persistence.OneToMany
javax.persistence.ManyToOne

Una relacin OneToMany donde el objeto de origen


tiene un atributo que almacena una coleccin de
objetos de destino, si esos objetos de destino tiene
una relacin inversa al objeto de origen sera una
ManyToOne.
OneToMany & ManyToOne
OneToMany & ManyToOne
OneToMany & ManyToOne
OneToMany & ManyToOne
Getters and Setters
Como la relacin es bidireccional, la aplicacin actualiza un lado de la relacin, el otro
lado tambin debe actualizarse, y estar en sincrona. En JPA, como en Java en general,
es responsabilidad de la aplicacin o del modelo de objetos mantener relaciones.
Si su aplicacin agrega a un lado de una relacin, entonces debe agregar al otro lado.
ManyToMany
La relacin ManyToMany est incluida en el paquete de
JAVA:
javax.persistence.ManyToMany

Una relacin ManyToMany en Java es donde el objeto


de origen tiene un atributo que almacena una
coleccin de objetos de destino, si esos objetos de
destino tienen la relacin inversa tambin sera una
ManyToMany.
ManyToMany
ManyToMany
Asignacin de una tabla de unin con columnas adicionales

Un problema ManyToMany es cuando la tabla de unin


relacional tiene datos/campos adicionales. En este caso, la
mejor solucin es crear una clase que modela la tabla de
unin. Desafortunadamente el mapeo de este tipo de
modelo se vuelve ms complicado en JPA porque requiere
una clave primaria compuesta. El ID del objeto de
asociacin se compone de los identificadores Employee y
Project .
ManyToMany
Asignacin de una tabla de unin con columnas adicionales
ManyToMany
Asignacin de una tabla de unin con columnas adicionales
ManyToMany
Asignacin de una tabla de unin con columnas adicionales
BIBLIOGRAFIAS

1. http://docs.oracle.com/javaee/6/tutorial/doc/bnbpz.html
2. https://en.wikibooks.org/wiki/Java_Persistence/Inheritance
3. https://www.tutorialspoint.com/jpa/index.htm
APLICACIONES
DISTRIBUIDAS
PERSISTENCIA (JPA)
Relaciones entre Entidades

Profesor: M. Sc. Osvaldo Pereira Barzaga


opereira@ups.edu.ec

También podría gustarte