64.JPA命名策略【从零开始学Spring Boot】
【從零開始學(xué)習(xí)Spirng Boot—常見異常匯總】
在(39.2). Spring Boot Shiro權(quán)限管理【從零開始學(xué)Spring Boot】?
這一章節(jié)中有人碰到這樣一個(gè)問題“導(dǎo)入的數(shù)據(jù)和我自己生成的表不對應(yīng)自己生成的表名有下滑杠連接符”。
?
這個(gè)問題主要是JPA的命名策略不一致導(dǎo)致的。
我們有這么一個(gè)配置:
spring.jpa.hibernate.naming-strategy?=?org.hibernate.cfg.DefaultNamingStrategy
這里的值有兩個(gè)可選的配置:
第一:org.hibernate.cfg.ImprovedNamingStrategy
第二:org.hibernate.cfg.DefaultNamingStrategy
以上兩個(gè)的區(qū)別是:
DefaultNamingStrategy這個(gè)直接映射,不會(huì)做過多的處理(前提沒有設(shè)置@Table,@Column等屬性的時(shí)候)。
ImprovedNamingStrategy ?表名,字段為小寫,當(dāng)有大寫字母的時(shí)候會(huì)轉(zhuǎn)換為分隔符號(hào)“_”。
舉個(gè)栗子,我們設(shè)計(jì)了如下實(shí)體類:
@Entity
publicclass DemoInfo {
??? @Id@GeneratedValue
??? privatelongid;
??? private String name;
??? private String password;
??? private String workLocation;
}?
那么當(dāng)命名策略配置為DefaultNamingStrategy的時(shí)候,對應(yīng)自動(dòng)生成的表是:
表名:DemoInfo
表字段:
id??? bigint
name???? varchar
password???? varchar
workLocation???? varchar
?
當(dāng)命名策略為ImprovedNamingStrategy ?的時(shí)候,對應(yīng)自動(dòng)生成的表是:
表名:demo_info
表字段:
id??? bigint
name???? varchar
password???? varchar
work_location???? varchar
?
當(dāng)設(shè)置了如下設(shè)置之后,
@Column(name="work_location")
private String workLocation;
?
那么就以設(shè)置的@Column為主。
?
【Spring Boot?系列博客】
61. mybatic insert異常:BindingException: Parameter 'name' not found【從零開始學(xué)Spring B】?
?
?
60. Spring Boot寫后感【從零開始學(xué)Spring Boot】?
?
?
59. Spring Boot Validator校驗(yàn)【從零開始學(xué)Spring Boot】?
?
58. Spring Boot國際化(i18n)【從零開始學(xué)Spring Boot】?
?
57. Spring?自定義properties升級(jí)篇【從零開始學(xué)Spring Boot】?
?
56. spring boot中使用@Async實(shí)現(xiàn)異步調(diào)用【從零開始學(xué)Spring Boot】?
?
55. spring boot?服務(wù)配置和部署【從零開始學(xué)Spring Boot】?
?
54. spring boot日志升級(jí)篇—logback【從零開始學(xué)Spring Boot】
?
52. spring boot日志升級(jí)篇—log4j多環(huán)境不同日志級(jí)別的控制【從零開始學(xué)Spring Boot】?
?
51. spring boot屬性文件之多環(huán)境配置【從零開始學(xué)Spring Boot】
?
50. Spring Boot日志升級(jí)篇—log4j【從零開始學(xué)Spring Boot】
?
49. spring boot日志升級(jí)篇—理論【從零開始學(xué)Spring Boot】
?
48. spring boot單元測試restfull API【從零開始學(xué)Spring Boot】
?
47. Spring Boot發(fā)送郵件【從零開始學(xué)Spring Boot】
?
46. Spring Boot中使用AOP統(tǒng)一處理Web請求日志
?
45. Spring Boot MyBatis連接Mysql數(shù)據(jù)庫【從零開始學(xué)Spring Boot】
?
44. Spring Boot日志記錄SLF4J【從零開始學(xué)Spring Boot】
?
43. Spring Boot動(dòng)態(tài)數(shù)據(jù)源(多數(shù)據(jù)源自動(dòng)切換)【從零開始學(xué)Spring Boot】
?
42. Spring Boot多數(shù)據(jù)源【從零開始學(xué)Spring Boot】
?
41. Spring Boot?使用Java代碼創(chuàng)建Bean并注冊到Spring中【從零開始學(xué)Spring Boot】
?
40. springboot + devtools(熱部署)【從零開始學(xué)Spring Boot】?
?
39.4 Spring Boot Shiro權(quán)限管理【從零開始學(xué)Spring Boot】
?
39.3 Spring Boot Shiro權(quán)限管理【從零開始學(xué)Spring Boot】
?
39.2. Spring Boot Shiro權(quán)限管理【從零開始學(xué)Spring Boot】
?
39.1 Spring Boot Shiro權(quán)限管理【從零開始學(xué)Spring Boot】
?
38 Spring Boot分布式Session狀態(tài)保存Redis【從零開始學(xué)Spring Boot】?
?
37 Spring Boot集成EHCache實(shí)現(xiàn)緩存機(jī)制【從零開始學(xué)Spring Boot】?
?
36 Spring Boot Cache理論篇【從零開始學(xué)Spring Boot】
?
35 Spring Boot集成Redis實(shí)現(xiàn)緩存機(jī)制【從零開始學(xué)Spring Boot】?
?
34Spring Boot的啟動(dòng)器Starter詳解【從零開始學(xué)Spring Boot】
?
33 Spring Boot?監(jiān)控和管理生產(chǎn)環(huán)境【從零開始學(xué)Spring Boot】
?
32 Spring Boot使用@SpringBootApplication注解【從零開始學(xué)Spring Boot】?
?
?
更多查看博客:?http://412887952-qq-com.iteye.com/
?
轉(zhuǎn)載于:https://www.cnblogs.com/hehehaha/p/6147074.html
總結(jié)
以上是生活随笔為你收集整理的64.JPA命名策略【从零开始学Spring Boot】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 同步vmware虚拟机与宿主机的时间
- 下一篇: 学习SpringMVC——说说视图解析器