如何更改 Spring Boot 在 Grails (5) 应用程序中使用的物理命名策略



虽然我们可以提供一个将被 Gorm 交互使用的命名策略,但似乎我们无法影响 Spring Boot 使用的底层命名策略,该策略仍设置为默认的 PhysicalNameStrategyStandardImpl 类。

为什么当我们使用 Gorm 时,我会在 Grails 应用程序中需要它? 如果我们想直接使用 hibernate,或者使用直接使用 hibernate 的库,例如 envers,那么它反过来又通过 spring boot 直接使用 jpa,并且不遵循请求的命名策略。

我们可以看到,即使我们使用自定义命名策略,我们的域对象首先通过自定义策略进行处理,然后通过默认的 PhysicalNamingStrategyStandardImpl 进行处理。

当记录的属性都没有任何效果时,我们如何提供不同的命名策略实现?

GORM 似乎使用了已弃用的NamingStrategy。请参阅有关自定义命名策略的文档。

application.yml

hibernate:
naming_strategy: 'util.CustomNamingStrategy'

请注意,您必须实现org.hibernate.cfg.NamingStrategy或扩展org.hibernate.cfg.ImprovedNamingStrategy而不是PhysicalNamingStrategyStandardImpl.

相关内容

最新更新