What are the possible values of the Hibernate hbm2ddl.auto configuration and what do they do

The hbm2ddl.auto configuration property in Hibernate determines the mode in which Hibernate should operate when it comes to generating the database schema. The possible values for this property are:

  • create: Creates the database schema from scratch. This will drop any existing tables and recreate them based on the mappings defined in the Hibernate configuration.

  • create-drop: Creates the database schema and drops it when the SessionFactory is closed. This is useful for testing purposes, as it allows you to create a clean database schema each time you run the tests.

  • update: Updates the database schema to reflect any changes made to the mappings defined in the Hibernate configuration. This will add new tables or columns, but it will not drop any existing tables or columns.

  • validate: Validates the database schema against the mappings defined in the Hibernate configuration. This will check that the database schema is in sync with the mappings, but it will not make any changes to the schema.

  • none: Does not perform any schema generation or validation.

I hope this helps! Let me know if you have any other questions.