Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] JoinTable vs mappedBy

Duda: No entiendo por qué al principio el instructor usó JoinTable para relacionar las dos tablas y luego lo eliminó usando OneToMany(mappedBy="pedido") y creó una nueva tabla(que era la unión de dos tablas) generando una nueva entidad.

Es porque debía generar métodos e interactuar con la información? Por ejemplo si solo necesitara consultar información de la unión de dos tablas si hubiera podido dejar el JoinTable?

1 respuesta

¡Hola Yineth!

Entiendo tu duda sobre la diferencia entre JoinTable y mappedBy en JPA.

JoinTable es una forma de crear una tabla de unión para una relación ManyToMany entre dos entidades. En cambio, mappedBy es una forma de especificar que la relación ManyToOne/OneToMany ya está definida en la otra entidad y se debe mapear a esa relación.

En el caso específico que mencionas, el instructor decidió utilizar OneToMany(mappedBy="pedido") porque la relación ya estaba definida en la entidad Pedido y solo necesitaba mapearla en la entidad Producto.

En cuanto a tu pregunta sobre si se podría haber dejado JoinTable, sí, se podría haber dejado si solo necesitabas consultar información de la unión de dos tablas. Sin embargo, si necesitabas interactuar con la información de la unión de las dos tablas, lo mejor es tener una entidad que represente esa unión.

Espero haber aclarado tus dudas. ¡Buenos estudios!