В основном я вижу три разных подхода.
- Используйте инструмент миграции базы данных, такой как Flyway или Liquibase, для управления структурой своей базы данных и не используйте внутренний механизм Hibernates
- Напишите свою собственную базу данных инструмент миграции (не рекомендуется)
- Установите
hibernate.hbm2ddl.auto
на create
, чтобы каждый раз заново создавать схему (с тем недостатком, что вы теряете свои данные).
Я лично всегда рекомендую использовать «профессиональный» инструмент миграции базы данных, когда миграции становятся необходимыми, и использовать только встроенные механизмы Hibernates для демонстрационных проектов или небольших доказательств концепций, потому что такие инструменты, как упомянутые Flyway или Liquibase, сохраняют миграции баз данных в файлах, для которых можно управлять версиями, выполняя прошлые миграции. прозрачный и воспроизводимый.