Я работал над своим проектом загрузочного приложения Spring и заметил, что иногда возникает ошибка тайм-аута подключения к моей базе данных на другом сервере (SQL Server). Это происходит особенно, когда я пытаюсь выполнить миграцию скрипта, FlyWay
но после нескольких попыток он работает.
Затем я заметил, что не указал spring.jpa.hibernate.ddl-auto
в своем файле свойств. Я провел небольшое исследование и обнаружил, что его рекомендуется добавлять
spring.jpa.hibernate.ddl-auto= create-drop
в разработке. И измените его на: spring.jpa.hibernate.ddl-auto= none
in production.
Но на самом деле я не понимал, как это работает и как спящий режим генерирует схему базы данных с использованием create-drop
или none
значения. Не могли бы вы объяснить технически, как это действительно работает, и каковы рекомендации по использованию этого свойства в разработке и на рабочем сервере. Спасибо
none
но вы можете захотеть, чтобы ваши таблицы Hibernate Search и Envers создавались с использованием, update
поскольку они внутренне управляются этими проектами, и вы не хотите управлять ими вручную. Сейчас мы контролируем это глобально для всех таблиц, независимо от их происхождения / источника. Это будет еще одной причиной для использования параметров, зависящих от производителя, если вы хотите это использовать.