18 -Usando las Anotaciones @OneToMany y @ManyToOne
Como usar las Anotaciones @OneToMany y @ManyToOne para identificar las relaciones entre los objetos en Java con MySQL usando JPA Eclipselink.
Una de las grandes ventajas que tiene trabajar con JPA, es que te permite hacer relaciones con otras entidades, de esta forma, es posible agregar otras Entidades como atributos de clase y JPA se encargará de realizar el SELECT adicional para cargar esas Entidades.
@OneToMany y @ManyToOne
Una relación OneToMany
en Java es donde el objeto de origen tiene un atributo que almacena una colección de objetos de destino y si esos objetos de destino tuvieran la relación inversa con el objeto de origen, sería una relación ManyToOne
. 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 garantía de que el objeto de destino también tenga una relación con el objeto de origen. Esto es diferente a una base de datos relacional, en la cual las relaciones se definen a través de claves externas y consultas de tal manera que la consulta inversa siempre existe.
JPA también define una relación ManyToMany
, que es similar a OneToMany
, excepto que la relación inversa (si se definió) es una ManyToMany
. La principal diferencia entre OneToMany
y ManyToMany
en JPA es que una relación ManyToMany
siempre hace uso de una tabla de unión relacional intermedia para almacenar la relación, mientras que una OneToMany
puede usar una tabla de unión o una clave externa en la tabla del objeto de destino que hace referencia a la tabla principal del objeto de origen. llave. Si OneToMany
utiliza una clave foránea en la tabla JPA del objeto de destino, se requiere que la relación sea bidireccional (la relación ManyToOne
inversa se debe definir en el objeto de destino), y el objeto de origen debe usar el mappedBy
atributo para definir la asignación.
WALTER ROSERO
Creador de Walter Rosero - SuperTecnoDroid | Responsable del Canal de YouTube Walter Rosero. Amante de la tecnología y juegos, me gusta aportar con un granito de arena al aprendizaje y la enseñanza. Soy editor y compositor en el área multimedia. Combino mi pasión por la enseñanza a través de la World Wide Web.
WALTER ROSERO
Hola soy Robinson Rosero, me dedico a crear contenido por medio de la World Wide Web, para ayudar a las personas y así poder desarrollar experiencia con nuevas ideas.