[英]PhysicalNamingStrategyStandardImpl JPA hibernate naming works for dev/local but not in testing
我的表名是駝峰命名的,hibernate (v5) 命名是 PhysicalNamingStrategyStandardImpl,它在使用 @SpringBootApplication 運行應用程序時有效,但是當它用於測試和使用 @DataJpaTest 時,它會將駝峰名稱轉換為全部大寫,因此測試不會得到執行。
我還確保我有兩個單獨的 application.yml 一個用於開發,一個用於測試,一個用於測試工作
這就是我聲明適用於 dev/local 的命名的方式:
jpa:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
表名聲明如下: @Table(name = "ClinicalUser")
出現以下錯誤:
ERROR 35284 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Table "CLINICALUSER" not found
我想再次提到,這在開發/本地環境中使用時有效。
我檢查了所有其他相關問題,他們要么無法連接到他們的測試 application.yml,要么他們有不同命名的不同問題。
我真的不明白到底出了什么問題,但我對我的 pom.xml 文件有 h2 依賴,在刪除它並在 @DataJpaTest 下添加@DataJpaTest
@AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE)
后它起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.