簡體   English   中英

PhysicalNamingStrategyStandardImpl JPA hibernate 命名適用於開發/本地,但不適用於測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM