¿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.