В моем приложении я использую flyway для переноса данных, поэтому я определил все вкладки со всеми именами в UPPER_SNAKE_CASE
(например, пользователи -> USERS
,андидатские группы -> CANDIDATE_GROUP
). Я предоставил 2 конфигурации для разных сред: локальная и докерская. В локальной среде я работаю с h2, на докере я работаю с MariaDB.
Теперь, когда работаю на h2, все работает нормально, на MariaDB hibernate пытается выполнить операции на всех строчных вкладках, это приводит к ошибке:`` Вызвано: java.sql.SQLException: Таблица 'application.users' не существует`
После некоторых исследований я попытался добавить в свой application-docker.yml
:
spring:
jpa:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
Это приводит к использованию заглавных букв в hibernate: Caused by: java.sql.SQLException: Table 'application.Users' doesn't exist
Я знаю, что могу именовать все таблицы с аннотацией @Table(name = "USERS")
и также предоставлять имена для всех столбцов, но это не мое желаемое решение.
К сожалению, я не нашел ни одной стратегии для моего случая (я знаю, this показывает, как создать собственную стратегию именования, но я не думаю, что мой случай настолько необычен), какую стратегию именования мне следуетиспользовать для моей конфигурации MariaDB, чтобы соответствовать моему случаю?