Hibernate + Spring boot 2: не проверяется схема по умолчанию - PullRequest
0 голосов
/ 24 апреля 2019

Я запускаю приложение Spring Boot с Hibernate.У меня есть следующие свойства в моем "application.properties", чтобы загрузить источник данных Mysql и установить свойства Hibernate.Но когда я запускаю интеграционные тесты со следующими свойствами, Hibernate имеет тенденцию проверять «information_schema» как схему по умолчанию, а не как схему «knowledgedb», и это завершается ошибкой со следующим исключением.

Версия коннектора Mysql: 8.0.12

Версия Spring Boot: 2.1.3.RELEASE

Исключение:

org.dbunit.dataset.DataSetException: java.sql.SQLSyntaxErrorException: Unknown table 'book_version' in information_schema

свойства:

# Spring Datasource properties
spring.datasource.url=jdbc:mysql://localhost:3306/knowledgedb?createDatabaseIfNotExist=true&zeroDateTimeBehavior=CONVERT_TO_NULL&characterEncoding=utf8&characterSetResults=utf8&useTimezone=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false
spring.datasource.username=XX
spring.datasource.password=XX
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.hikari.maximum-pool-size=10

# Hibernate specific properties
spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
spring.jpa.properties.hibernate.hbm2ddl.auto=validate
spring.jpa.properties.hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.show_sql=false
spring.jpa.properties.hibernate.format_sql=false
spring.jpa.properties.hibernate.use_sql_comments=false
spring.jpa.properties.hibernate.id.new_generator_mappings=false
spring.jpa.properties.hibernate.default_schema=knowledgedb

1 Ответ

0 голосов
/ 25 апреля 2019

@Abhi.G вы уже создали схему / базу данных в db ??Если нет, то создайте его вручную, а затем проверьте, работает ли он или нет!Обычно, если вы написали правильный файл свойств, он создает саму базу данных.Пожалуйста, внесите это изменение в свой файл и попробуйте снова: spring.jpa.hibernate.ddl-auto = update

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...