首頁 > Java > java教程 > 主體

Spring Boot JPA:為什麼我的列名註解被忽略?

Mary-Kate Olsen
發布: 2024-10-27 16:16:29
原創
729 人瀏覽過

  Spring Boot   JPA: Why is my Column Name Annotation Ignored?

Spring Boot JPA 欄位名稱註解被忽略

當產生的SQL 中忽略列註解的指定名稱時,會出現此問題,導致使用預設約定(例如,蛇形大小寫)。

原因:

預設情況下,Spring Boot 使用與連接的資料庫對應的 Hibernate 方言,這可能會覆蓋列註解的名稱。在本例中,使用的是 SQL Server 方言,該方言使用蛇形命名法建立列。

解決方案:

要解決此問題並確保註解的列名稱使用時,可以透過在application.properties 檔案中明確設定下列屬性來覆寫預設命名策略:

spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
登入後複製

這些設定指定隱式命名策略應維護表和列名稱,如實體類,而實體命名策略應將列名轉換為資料庫的首選格式(例如,MS SQL Server的蛇形命名法)。

透過配置這些屬性,在產生的 SQL 中將尊重帶註釋的列名,允許更大的靈活性和對列命名的控制。

以上是Spring Boot JPA:為什麼我的列名註解被忽略?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!