Hibernate hbm2ddl.auto, возможные значения и что они делают
Я смотрю на hbm2ddl.auto
конфигурации Hibernate hbm2ddl.auto
и его возможные значения:
-
validate
-
update
-
create
-
create-drop
Что делают все эти значения?
Справочная документация Hibernate лишь кратко говорит о create-drop
, но ничего не говорит о других значениях:
hibernate.hbm2ddl.auto
Автоматически проверяет или экспортирует DDL схемы в базу данных при создании SessionFactory
. С помощью create-drop
схема базы данных будет удалена, когда SessionFactory
будет закрыт явно.
например validate
| update
| create
| create-drop
Я нашел очень полезные объяснения в этих вопросах:
Но все еще ничего в официальной документации.
Ответы
Ответ 1
Предоставленная вами ссылка уже является официальной документацией. Итак, сегодня нет ничего более официального и всеобъемлющего.
Итак, я думаю, ответ на ваш вопрос двоякий:
Я знаю, что это не идеальный ответ, о котором вы мечтали, но на самом деле это все, что у вас есть сегодня.
Но хорошая новость заключается в том, что проект является открытым исходным кодом, поэтому у вас есть все, что вам нужно для его улучшения: -).
Ответ 2
Для свойства hbm2ddl.auto
список возможных параметров:
- validate: подтвердите соответствие схемы, не вносите изменений в схему базы данных, вы, вероятно, захотите ее для производства.
- update: обновить схему, чтобы отразить объекты, которые сохраняются
- create: создает схему, необходимую для ваших объектов, уничтожая любые предыдущие данные.
- create-drop: создайте схему как в create выше, но также удалите схему в конце сеанса. Это здорово в ранней разработке или для тестирования.
Ответ 3
Документация была обновлена, чтобы включить эту информацию. Вот ссылка на официальную, текущую документацию по этой функции.
hibernate.hbm2ddl.auto (например, none (значение по умолчанию), только для создания, удаление, создание, создание-удаление, проверка и обновление)
Настройка для автоматического выполнения действий SchemaManagementTool в рамках жизненного цикла SessionFactory. Допустимые параметры определяются значением externalHbm2ddlName перечисления 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