Я новичок в Micronaut и пытаюсь использовать его с существующей базой данных.
У меня есть объект с явным именованием таблиц и столбцов, например
@Entity
@Table(name = "TGE040LABEL", schema = "dbo", catalog = "tp_63_dev")
@IdClass(Tge040LabelEntityPK.class)
public class Tge040LabelEntity
и даже если я настрою physical_naming_strategy
в application.yml, как это (и варианты, я пробовал различные значения для physical_naming_strategy
...):
jpa:
default:
entity-scan:
packages:
- 'my.app.domain'
properties:
hibernate:
hbm2ddl:
auto: none
show_sql: true
physical_naming_strategy: "io.micronaut.data.model.naming.NamingStrategies.UpperCase"
dialect: "org.hibernate.dialect.SQLServerDialect"
Я все еще получаю эту ошибку
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'tp_63_dev.dbo.tge040_label'
.
как будто моя конфигурация полностью игнорируется.
Версия Micronaut micronautVersion=1.3.3
Я что-то упустил?
ОБНОВЛЕНИЕ
До:
jpa:
default:
entity-scan:
packages:
- 'my.app.domain'
properties:
hibernate:
hbm2ddl:
auto: none
show_sql: true
dialect: "org.hibernate.dialect.SQLServerDialect"
После:
jpa:
default:
entity-scan:
packages:
- 'my.app.domain'
properties:
hibernate:
hbm2ddl:
auto: none
show_sql: false
dialect: "org.hibernate.dialect.SQLServerDialect"
physical_naming_strategy: 'org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl'
Проще говоря, конфиг находится в нужном месте, изменения в show_sql
принимаются, изменения в physical_naming_strategy
явно игнорируются.
Возможно ли это возможно чтобы изменить physical_naming_strategy
?
ОБНОВЛЕНИЕ 2
Изменил мою конфигурацию следующим образом:
jpa:
default:
entity-scan:
packages:
- 'my.app.domain'
properties:
hibernate:
id:
new_generator_mappings: false
format_sql: true
globally_quoted_identifiers_skip_column_definitions: true
jdbc:
lob:
non_contextual_creation: true
dialect: org.hibernate.dialect.SQLServerDialect
ddl-auto: none
physical_naming_strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
implicit_naming_strategy: org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
и отладки я получаю это:
значение, на мой взгляд, т Шляпа micronaut активно переопределяет мою конфигурацию, которая по крайней мере не интуитивна. Задокументировано ли это поведение где-нибудь?