我是 spring 和 spring-boot 的新手,在學習 Spring CRUD 時,我瀏覽了不同的文章,我看到了這些行?!耙约盀槭裁?@Entity 注釋是強制性的?......好吧,這就是 JPA 的設計方式。當你創建一個新實體時,你必須至少做兩件事,用 @Entity 注釋它,創建一個 id 字段并用 @Id 注釋它其他都是可選的,例如表名派生自實體類名(因此@Table注解可以是可選的),表的列派生自實體變量(因此@Column注解可以是可選的),等等…… “所以我的問題是,如果我們不提供@Table注釋和@Column注釋,spring 將如何對表及其列名進行分叉。
1 回答

嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
當你在 Spring Boot 的上下文中問你的問題時。有兩個選項決定命名策略:
spring.jpa.hibernate.naming.implicit-strategy
當我們沒有在實體定義中明確提供表名和列名時,此選項用于確定名稱
通常這默認為:ImplicitNamingStrategyJpaCompliantImpl
更多實施。
spring.jpa.hibernate.naming.physical-strategy
這是更可定制、可插入的策略合約,用于為數據庫對象名稱應用物理命名規則。
默認情況下,SpringPhysicalNamingStrategy
在所有點駝峰式外殼都被下劃線替換的情況下使用 a。此外,表名以小寫形式生成。
添加回答
舉報
0/150
提交
取消