Я использую Spring Boot/JPA/Hibernate. Я хотел бы использовать HSQLDB при тестировании на localhost и MySQL при развертывании на сервере.Spring Boot/JPA/Hibernate, Как переключить поставщика баз данных в соответствии с профилем Spring?
В pom.xml, у меня есть эта зависимость для MySQL:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
и эту зависимость для HSQLDB:
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
я, вероятно, не может поставить обе зависимости в pom.xml из-за Автоконфигурация Spring Boot. Но я хотел бы использовать HSQLDB, когда профиль Spring local
активен и использует MySQL, когда активен профиль Spring server
. В идеале я хотел бы создать только один файл войны и запустить локальную версию с mvn spring-boot:run
и развернуть версию сервера из военного файла.
Любая идея?
P.S .: Я использую Maven
Какой вопрос у вас есть, если оба зависимостей установлены? Не работает ли приложение неправильно? Или что-то еще – Patrick
Возможно, вы можете реализовать два разных источника данных в своем приложении и позволить значению профиля обмануть, какой источник данных используется. – Patrick
@Patrick. После нескольких исследований я обнаружил, что проблема возникает из-за несовместимости sql-диалектов между MySQL и HSQLDB, но Стефан Николл прав, нет проблем с обеими зависимостями в pom.xml. –