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

Tabla Productos

Hola,

https://app.aluracursos.com/course/persistencia-jpa-hibernate/task/83605

En el minuto 3:36 el instructor ejecuta el código y se ve en la consola que se crean ambas tablas: productos y categorias. Pero en el código el instructor ya había borrado la instancia de la clase Producto que se supone daría lugar a la creación de la tabla productos, ¿Entonces por qué se crea la tabla productos si esa instancia fue eliminada del código antes de ejecutar el programa?

  1. ¿Es porque la tabla categorias está asociada a la tabla productos y necesita crearla para asignarle a esta la llave foránea?

  2. ¿O quizás es porque la tabla productos ya existía desde la ejecución anterior y es a ésta tabla pre-existente que la nueva tabla categorías se está enlazando?

Sospecho que debe ser esta segunda opción ya que el instructor usó update en el valor de la siguiente propiedad:

<property name="hibernate.hbm2ddl.auto" value="update"/>

Lo que generó confusión es que en la consola se muestra create table productos como si recién se estuviera creando esa tabla.

1 respuesta

¡Hola Estudiante!

Es una buena pregunta que tienes. En realidad, la tabla productos se crea porque se está utilizando la propiedad hibernate.hbm2ddl.auto con el valor update. Esto significa que Hibernate actualizará la base de datos según los cambios realizados en las entidades. En este caso, aunque se eliminó la instancia de la clase Producto, Hibernate sabe que la tabla productos ya existe en la base de datos y, por lo tanto, no la eliminará.

En cuanto a tu segunda pregunta, es posible que la tabla productos ya existiera desde una ejecución anterior, pero eso no tiene relación con la creación de la tabla categorias. La tabla categorias se crea porque se agregó la entidad Categoria al código y se está utilizando la propiedad hibernate.hbm2ddl.auto con el valor update.

Espero haber aclarado tus dudas. ¡Buenos estudios!