PhysicalNamingStrategyStandardImpl JPA 休眠命名适用于 dev/local 但不适用于测试
PhysicalNamingStrategyStandardImpl JPA hibernate naming works for dev/local but not in testing
我的 table 名字是驼峰式的,hibernate (v5) 命名是 PhysicalNamingStrategyStandardImpl,当 运行 应用程序使用 @SpringBootApplication 但当它用于测试和使用 @DataJpaTest 时它会变成驼峰名称全部大写,因此测试不会执行。
我还确保我有两个单独的 application.yml 一个用于开发,一个用于测试,一个用于测试工作
这就是我声明我的命名的方式,它适用于 dev/local:
jpa:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
table 名称声明如下:@Table(name = "ClinicalUser")
出现以下错误:
ERROR 35284 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Table "CLINICALUSER" not found
我想再次提一下,这在 dev/local 环境中使用时有效。
我已经检查了所有其他相关问题,他们要么无法连接到他们的测试 application.yml,要么他们因不同的命名而遇到不同的问题。
我真的不明白到底出了什么问题,但我的 pom.xml 文件有 h2 依赖项,在删除它并添加 @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
之后
在 @DataJpaTest
下有效。
我的 table 名字是驼峰式的,hibernate (v5) 命名是 PhysicalNamingStrategyStandardImpl,当 运行 应用程序使用 @SpringBootApplication 但当它用于测试和使用 @DataJpaTest 时它会变成驼峰名称全部大写,因此测试不会执行。
我还确保我有两个单独的 application.yml 一个用于开发,一个用于测试,一个用于测试工作
这就是我声明我的命名的方式,它适用于 dev/local:
jpa:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
table 名称声明如下:@Table(name = "ClinicalUser")
出现以下错误:
ERROR 35284 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Table "CLINICALUSER" not found
我想再次提一下,这在 dev/local 环境中使用时有效。
我已经检查了所有其他相关问题,他们要么无法连接到他们的测试 application.yml,要么他们因不同的命名而遇到不同的问题。
我真的不明白到底出了什么问题,但我的 pom.xml 文件有 h2 依赖项,在删除它并添加 @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
之后
在 @DataJpaTest
下有效。