Весенний выпуск JPA + H2 - PullRequest
0 голосов
/ 24 июня 2019

Я начал делать простое приложение с весенней загрузкой.

Моим первым шагом было использование поддержки Spring JDBC со стандартной базой данных H2 в памяти. Для примеров данных у меня были schema.sql и data.sql в src / main / resources.

Поэтому, когда запускается весна, он также выполняет эти 2 сценария и заполняет базу данных H2, к которой я могу получить доступ через консоль H2.

Все работает нормально, и я могу проверить правильность данных, возвращаемых контроллерами.

Затем я добавил поддержку JPA, добавив:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

Но с тех пор эти 2 сценария (schema.sql, data.sql) больше не выполняются.

Зависимость JPA вызывает это? И какой обходной путь, чтобы заставить это работать?

1 Ответ

1 голос
/ 24 июня 2019

Поскольку вы используете spring-boot-starter-data-jpa, вы можете установить следующее свойство в application.properties, и оно должно работать, если у вас спящий режим и это вызывает проблему (наиболее вероятно):

spring.jpa.hibernate.ddl-auto = none

В приложении на основе JPA вы можете разрешить Hibernate создавать схему или использовать schema.sql, но вы не можете сделать и то, и другое.Обязательно отключите spring.jpa.hibernate.ddl-auto, если вы используете schema.sql.

schema.sql - это процесс инициализации на основе пружины, и переход в спящий режим в classpath будет конфликтовать с этим., вы можете попробовать отключить автоконфигурацию Hibernate, как это.Официальный doc .

Если это не так, пожалуйста, поделитесь всем файлом pom.

...