Efectivamente, se genera alguna ambiguedad al describir el objeto de direcciones como la tabla residencia y de acuerdo a lo correspondiente a la formaciòn, en todo caso siempre serà conveniente que el còdigo quede tan claro como sea posible.
Efectivamente, se genera alguna ambiguedad al describir el objeto de direcciones como la tabla residencia y de acuerdo a lo correspondiente a la formaciòn, en todo caso siempre serà conveniente que el còdigo quede tan claro como sea posible.
Hola Ferney,
Sí, entiendo que tienes dudas sobre la relación entre las tablas y cómo se refleja en el código. En el código, la clase Cliente
tiene una relación 1:1
con la clase Residencia
y una relación 1:*
con la clase Telefono
.
La relación 1:1
con Residencia
está configurada para ser EAGER
, lo que significa que cuando se carga un Cliente
, JPA también cargará automáticamente la Residencia
asociada. Esto se traduce en un JOIN
con la tabla residencias
en la consulta SQL generada, tal como se indica en la opción B.
Por otro lado, la relación 1:*
con Telefono
está configurada para ser LAZY
. Esto significa que JPA no cargará los Telefonos
asociados a un Cliente
a menos que se soliciten explícitamente. Por lo tanto, no se realiza un JOIN
con la tabla telefonos
en la consulta SQL generada.
Por lo tanto, en el fragmento de código proporcionado, se generará una consulta SELECT
en la tabla clientes
que se une a la tabla residencias
con un JOIN
, tal como se indica en la opción B.
Espero que esto aclare tu duda. Si hay algo más que no entiendas, no dudes en preguntar. Mucho éxito en todo lo que te propongas. ¡Vamos juntos!
Totalmente de acuerdo solo si observamos las respuestas la opción correcta es Respuesta:
La relación con la entidad Dirección es Eager, por lo que la consulta generará un join con la tabla de direcciones.
y en realidad es la tabla residencias.
Claro, es un error de Tipeo en las opciones de respuestas.