Подтвердить что ты не робот

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

Я нашел очень полезные объяснения в этих вопросах:

Но все еще ничего в официальной документации.

4b9b3361

Ответ 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