web-dev-qa-db-fra.com

Hibernate hbm2ddl.auto, les valeurs possibles et leur rôle

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éé. Avec create-drop, le schéma de base de données sera supprimé lorsque SessionFactory 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.

39
Danilo Piazzalunga

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 :-).

11
Baptiste Mathus

Pour hbm2ddl.auto propriété la liste des options possibles est:

  • valider: valider que le schéma corresponde, ne pas modifier le schéma de la base de données, vous le souhaitez probablement pour la production.
  • pdate: met à jour le schéma pour refléter les entités persistantes
  • create: crée le schéma nécessaire à vos entités, détruisant les données précédentes.
  • create-drop: créez le schéma comme dans create ci-dessus, mais supprimez également le schéma à la fin de la session. C'est excellent en début de développement ou pour les tests.
62
wahid_cse

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
2
Joel Harris