#java #mysql #spring #hibernate
#java #mysql #весна #гибернация
Вопрос:
Я получаю новую ошибку при запуске моего приложения spring boot.
У меня есть экземпляр Amazon RDS Mysql, а база данных называется SMARTPARK
В моих свойствах приложения у меня есть
# Username and password
spring.datasource.username = parkuser
spring.datasource.password = xxxxxxxxxxxx
spring.datasource.url = jdbc:mysql://xxxxxxxxxxxxxxxxxxx.rds.amazonaws.com:3306/SMARTPARK?useSSL=false
# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
# ===============================
# = JPA / HIBERNATE
# ===============================
# Use spring.jpa.properties.* for Hibernate native properties (the prefix is
# stripped before adding them to the entity manager).
# Show or not log for each sql query
spring.jpa.show-sql = false
# Hibernate ddl auto (create, create-drop, update): with "update" the database
# schema will be automatically updated accordingly to java entities found in
# the project
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# Allows Hibernate to generate SQL optimized for a particular DBMS
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate4.SpringSessionContext
Все разрешения указаны в БД правильно (я могу получить к нему доступ из оболочки), но при запуске приложения я получаю эту ошибку
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'smartpark'
Я не знаю, является ли это проблемой того, что имя базы данных чувствительно к регистру, но я нигде не написал «smartpark» в приложении…
Комментарии:
1. Я думаю, что ваша стратегия именования может быть проблемой здесь. Вы могли бы добавить
spring.jpa.show-sql=true
, чтобы проверить свои запросы и посмотреть, генерирует ли он нижний регистр. Кроме того, вы можете попробовать изменить свою стратегию наspring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
2. ДА… вы правы, имена баз данных чувствительны к регистру.
3. Пожалуйста, добавьте немного больше трассировки стека
4. У меня был URL-адрес jdbc в application.properties в /config remote dir … пытаюсь поместить его в application.properties внутри каталога ресурсов приложения, это сработало… действительно странно