Использую Spring Boot + Hibernate.
В
application.properties
указал использовать
PhysicalNamingStrategy
:
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
Данная стратегия подразуевает:
- все точки заменяются символами подчеркивания
- регистр camelCase заменяется также подчеркиванием
- по умолчанию все имена таблиц создаются в нижнем регистре. Например, объект TelephoneNumber отображается в таблицу phone_number.
Есть entity Java класс с именем
GiftCertificate
. Но при выполнении запроса почему-то имя данного класса преобразуется не в
gift_certificate
, как ожидается мной, а в
giftcertificate
, что видно из логов:
java.sql.SQLSyntaxErrorException: Table 'gift_certificates_system_db.giftcertificate' doesn't exist
Почему такое происходит и как это исправить?