Порядок выполнения Spring Boot - EnvironmentPostProcessor и JPA - PullRequest
0 голосов
/ 28 февраля 2019

В моем приложении Spring Boot у меня есть EnvironmentPostProcessor для запроса таблицы (база данных H2) и загрузки данных в среде Spring.Я заметил, что EnvironmentPostProcessor работает до того, как Hibernate создаст таблицы.Следовательно, в EnvironmentPostProcessor должна появиться ошибка «Нет такой таблицы».Однако я не вижу ни одной из таких ошибок, и я вижу данные, которые загружаются в предыдущем экземпляре сервера.Чтобы быть более понятным, ниже приведены шаги, которые я делаю -

  1. Запустите сервер (Hibernate создал и загрузил таблицы в H2)
  2. Обновите данные в таблице
  3. Остановите сервер
  4. Запустите сервер - Здесь EnvironmentPostProcessor отображает обновленные данные со 2-го шага.

Насколько я знаю, при отключении сервера схема H2 будет уничтожена.Но как данные из предыдущего прогона доступны в EnvironmentPostProcessor?Пожалуйста, исправьте меня, если мое понимание неверно.

Я вижу ниже специфические настройки гибернации в application.properties:

    spring.jpa.show-sql=true 
    spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.naming.implicitstrategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl 
    spring.jpa.hibernate.naming.physicalstrategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl 

Спасибо!

...