example - Hibernate hbm2ddl.auto, valores posibles y lo que hacen
spring datasource initialization mode always (3)
Estoy mirando la propiedad de configuración Hibernate hbm2ddl.auto
y sus posibles valores:
-
validate
-
update
-
create
-
create-drop
¿Qué hacen todos estos valores?
La documentación de referencia de Hibernate solo habla brevemente sobre create-drop
, pero no dice nada sobre los otros valores:
hibernate.hbm2ddl.auto
Automáticamente valida o exporta el esquema DDL a la base de datos cuando se crea
SessionFactory
. Concreate-drop
, el esquema de la base de datos se eliminará cuandoSessionFactory
se cierre explícitamente.por ejemplo,
validate
|update
|create
|create-drop
Encontré explicaciones muy útiles en estas preguntas sobre desbordamiento de pila:
- Hibernate hbm2ddl.auto valores posibles y lo que hacen?
- El esquema no se descarta en hbmddl.auto = create.drop
Pero todavía no hay nada en la documentación oficial.
El enlace que proporcionó ya es la documentación oficial. Entonces, no hay nada más oficial y completo hoy en día.
Así que supongo que la respuesta a tu pregunta es doble:
- o bien presente una solicitud de mejora en el rastreador de problemas de Hibernate (mejor con una propuesta)
- o lea el código correspondiente
Sé que esta no es la respuesta perfecta que soñaste, pero esto es todo lo que tienes hoy.
Pero la buena noticia es que el proyecto es de código abierto, por lo que tiene todo lo que necesita para ayudar a mejorarlo :-).
La documentación se ha actualizado para incluir esta información. Aquí hay un enlace a la documentación oficial y actualizada para esta función:
Para la propiedad hbm2ddl.auto
, la lista de opciones posibles es:
- validar : valide que el esquema coincide, no realice cambios en el esquema de la base de datos, probablemente desee esto para la producción.
- actualización : actualice el esquema para reflejar las entidades que se persisten
- create : crea el esquema necesario para sus entidades, destruyendo cualquier dato previo.
- Crear-soltar : cree el esquema como en la creación anterior, pero también suelte el esquema al final de la sesión. Esto es genial en el desarrollo inicial o para las pruebas.