Avatar ·

¿Qué valores puede tomar hibernate.hbm2ddl.auto y qué hacen?

¡Hola a todos! Soy un desarrollador Java principiante, y en el proceso de aprender Hibernate me encontré con el parámetro de configuración `hibernate.hbm2ddl.auto`. Sé que se encarga de la gestión del esquema de la base de datos, pero no termino de entender qué valores se le pueden asignar exactamente y cómo afecta cada uno a las tablas. Aquí hay un ejemplo de mi `application.properties`: ```properties spring.jpa.hibernate.ddl-auto=update ``` Actualmente uso `update`, y parece que funciona: las tablas se crean automáticamente. Pero he visto que en diferentes proyectos escriben `create`, `validate`, `none`. ¿Qué significan? Me preocupa especialmente lo siguiente: 1. Si pongo `create`, ¿perderé todos los datos en cada inicio? 2. Y `validate` — ¿es solo una comprobación? ¿Qué pasa si la tabla no coincide con la entidad? 3. ¿Qué ocurrirá con la base de datos de producción si accidentalmente dejo `create-drop`? Agradecería una explicación detallada con ejemplos. Quiero entender qué es seguro usar en producción y qué solo en desarrollo.