Je regarde le Hibernate hbm2ddl.auto
propriété de configuration et ses valeurs possibles:
validate
update
create
create-drop
Que font toutes ces valeurs?
Le documentation de référence Hibernate ne parle que brièvement de create-drop
, mais ne dit rien sur les autres valeurs:
hibernate.hbm2ddl.auto
Valide ou exporte automatiquement le schéma DDL vers la base de données lorsque le
SessionFactory
est créé. Aveccreate-drop
, le schéma de base de données sera supprimé lorsqueSessionFactory
sera fermé explicitement.par exemple
validate
|update
|create
|create-drop
J'ai trouvé très des explications utiles dans ces questions de débordement de pile:
Mais toujours rien dans la documentation officielle.
Le lien que vous avez fourni est déjà la documentation officielle. Donc, il n'y a rien de plus officiel et complet à ce jour.
Donc, je suppose que la réponse à votre question est double:
Je sais que ce n’est pas la réponse parfaite dont vous rêviez, mais c’est tout ce que vous avez aujourd’hui.
Mais la bonne nouvelle est que le projet est open-source, vous avez donc tout ce dont vous avez besoin pour l’améliorer :-).
Pour hbm2ddl.auto
propriété la liste des options possibles est:
La documentation a été mise à jour pour inclure ces informations. Voici un lien vers la version actuelle documentation pour cette fonctionnalité.
hibernate.hbm2ddl.auto (par exemple, aucune (valeur par défaut), créer uniquement, supprimer, créer, créer-supprimer, valider et mettre à jour)
Paramétrage pour effectuer automatiquement les actions SchemaManagementTool dans le cycle de vie de SessionFactory. Les options valides sont définies par la valeur externalHbm2ddlName de l'énumération Action:
none No action will be performed. create-only Database creation will be generated. drop Database dropping will be generated. create Database dropping will be generated followed by database creation. create-drop Drop the schema and recreate it on SessionFactory startup. Additionally, drop the schema on SessionFactory shutdown. validate Validate the database schema update Update the database schema