Hibernate ddl-auto — это свойство конфигурации в Hibernate, популярной платформе ORM (объектно-реляционного сопоставления) на основе Java. Это свойство управляет автоматическим созданием и изменением схемы базы данных на основе сопоставлений сущностей, определенных в вашем приложении. Он используется для указания поведения Hibernate при взаимодействии со схемой базы данных.
В этой статье блога мы рассмотрим различные значения, которые можно установить для свойства «hibernate ddl-auto», и предоставим примеры кода, демонстрирующие их использование.
- Проверка
Если для свойства «hibernate ddl-auto» установлено значение «проверить», Hibernate будет проверять только существующую схему на соответствие сопоставлениям сущностей. Никаких изменений в схему это не внесёт. Вот пример:
// Hibernate configuration
properties.setProperty("hibernate.hbm2ddl.auto", "validate");
- Обновить
Установка для свойства «hibernate ddl-auto» значения «обновить» позволяет Hibernate проверять схему на соответствие сопоставлениям сущностей и соответствующим образом обновлять ее. Он добавит новые таблицы, столбцы или ограничения на основе изменений в сопоставлениях сущностей. Существующие данные будут сохранены, когда это возможно. Вот пример:
// Hibernate configuration
properties.setProperty("hibernate.hbm2ddl.auto", "update");
- Создать
Если для параметра «hibernate ddl-auto» установлено значение «создать», Hibernate удалит и заново создаст всю схему при запуске. Он удалит все существующие данные и заново создаст таблицы, столбцы и ограничения на основе сопоставлений сущностей. Вот пример:
// Hibernate configuration
properties.setProperty("hibernate.hbm2ddl.auto", "create");
- Create-drop
Значение «create-drop» похоже на «create», но оно также удаляет схему при завершении работы. Это полезно во время разработки или тестирования, когда схему необходимо воссоздавать каждый раз при запуске приложения. Вот пример:
// Hibernate configuration
properties.setProperty("hibernate.hbm2ddl.auto", "create-drop");
- Нет
Установка для параметра «hibernate ddl-auto» значения «none» отключает любое автоматическое создание или изменение схемы с помощью Hibernate. Предполагается, что схема уже существует и соответствует сопоставлениям сущностей. Вот пример:
// Hibernate configuration
properties.setProperty("hibernate.hbm2ddl.auto", "none");
Это часто используемые значения свойства «hibernate ddl-auto» в Hibernate. В зависимости от требований вашего приложения вы можете выбрать подходящее значение для управления схемой базы данных.