阿波羅的戰(zhàn)車
2023-01-05 16:58:10
我是 spring 和 spring-boot 的新手,在學(xué)習(xí) Spring CRUD 時(shí),我瀏覽了不同的文章,我看到了這些行?!耙约盀槭裁?@Entity 注釋是強(qiáng)制性的?......好吧,這就是 JPA 的設(shè)計(jì)方式。當(dāng)你創(chuàng)建一個(gè)新實(shí)體時(shí),你必須至少做兩件事,用 @Entity 注釋它,創(chuàng)建一個(gè) id 字段并用 @Id 注釋它其他都是可選的,例如表名派生自實(shí)體類名(因此@Table注解可以是可選的),表的列派生自實(shí)體變量(因此@Column注解可以是可選的),等等…… “所以我的問(wèn)題是,如果我們不提供@Table注釋和@Column注釋,spring 將如何對(duì)表及其列名進(jìn)行分叉。
1 回答

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