#mysql #hibernate #spring-boot #dialect
#mysql #спящий режим #весенняя загрузка #диалект
Вопрос:
Я хочу создать свои таблицы базы данных с помощью InnoDB, я использую Spring Boot 2.1.3 и MySQL 8.0, поэтому я использовал это:
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
И, да, это работает, но у меня много ошибок в моей консоли:
2019-04-03 19:11:55.182 INFO 1820 --- [ restartedMain] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
2019-04-03 19:11:55.966 WARN 1820 --- [ restartedMain] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "alter table application drop foreign key FKldca8xj6lqb3rsqawrowmkqbg" via JDBC Statement
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "alter table application drop foreign key FKldca8xj6lqb3rsqawrowmkqbg" via JDBC Statement
И это для каждой моей таблицы:
Caused by: java.sql.SQLSyntaxErrorException: Table 'test.usr' doesn't exist
«test.usr» -> «test» — это имя моей схемы, а «usr» — это имя таблицы.
Но он по-прежнему создает все мои таблицы, так как я могу избавиться от этих ошибок?
Комментарии:
1.
user
ключевое слово в mysql, вы можете предпочесть другое имя или выполнить escape?2. @soorapadman это происходит со всеми таблицами, я уже пытался изменить имя этой таблицы, это не помогло.
3. @ED Я не уверен, можете ли вы попробовать просто изменить свойство
spring.jpa.hibernate.ddl
наupdate
и проверить?4. @soorapadman Ошибок при обновлении нет, но я все еще хочу знать, как это исправить. Это действительно странно.
5. может быть похоже на проблему с диалектом.
Ответ №1:
Как предложил Antoniosssss, я только что использовал Flyway для обработки моей базы данных. Спасибо.