我今天偶然發現了一個奇怪的錯誤。我在 Spring Boot 應用程式中的 Java 持久性應用程式編程介面 (JPA) 物體之一不作業。我將問題追溯到一列:
@javax.persistence.Column(name = "NameWrittenInPascalCase")
java.lang.String c;
當我檢查 Spring Boot/Hibernate 生成的結構化查詢語言 (SQL) 查詢時,我發現了問題。它接縫是 Spring Boot 或 Hibernate 將其轉換NameWrittenInPascalCase為name_written_in_pascal_case(只是用蛇形寫的)。(當然,在資料庫中,我的列名是用 PascalCase 寫的)。
看在上帝的份上,為什么?
以及如何防止它這樣做?
如果您需要其他資訊,我使用 Spring Boot 2.5.7 版。
uj5u.com熱心網友回復:
在您的專案application.properties檔案中設定命名策略:
spring.jpa.hibernate.naming-strategy=org.hibernate.cfg.EJB3NamingStrategy
默認值為org.springframework.boot.orm.jpa.SpringNamingStrategy
更新:
如果以前的屬性不能解決您的問題,您可以使用這個(對于較新版本的Hibernate):
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/388097.html
下一篇:8位非重復數字的正則運算式
