springboot中關(guān)于自動(dòng)建表,無法更新字段的問題
關(guān)于自動(dòng)建表,無法更新字段問題
Springboot中的配置
jpa: ? ? database-platform: org.hibernate.dialect.MySQL5InnoDBDialect ? ? database: MYSQL ? ? show-sql: true ? ? properties: ? ? ? hibernate.id.new_generator_mappings: true ? ? ? hibernate.cache.use_second_level_cache: false ? ? ? hibernate.cache.use_query_cache: false ? ? ? hibernate.generate_statistics: false ? ? ? hibernate.hbm2ddl.auto: create # 自動(dòng)生成建表語句 ? ? hibernate: ? ? ? naming: ? ? ? ? physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl # 取消駝峰式命名 hibernate.hbm2ddl.auto: create # 自動(dòng)生成建表語句
除了create配置,還有以下幾種
create
會(huì)自動(dòng)建表,全部的Model都會(huì)新建表create-drop
會(huì)新建表,但會(huì)以及SessionFactory自動(dòng)刪除。update
會(huì)自動(dòng)建表,已存在的表無法更新,只會(huì)新增新添加的Model,生成表,所以這個(gè)注解無法更新已存在的表的字段屬性。validate
會(huì)對(duì)Model和數(shù)據(jù)庫表進(jìn)行校驗(yàn),字段屬性不一致時(shí),會(huì)報(bào)錯(cuò)none,不自動(dòng)建表,只基于Model的@entity和@Table映射數(shù)據(jù)庫的表(字段可以不對(duì)應(yīng))
springboot jpa未自動(dòng)建表問題記錄
檢查pom是否正確引入對(duì)應(yīng)模塊
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
檢查application文件配置是否存在錯(cuò)誤
spring: datasource: url: jdbc:mysql://localhost:3306/dbdbd?useUnicode=true&characterEncoding=utf-8&useSSL=false username: * password: * driver-class-name: com.mysql.jdbc.Driver jpa: hibernate: ddl-auto: update database: mysql show-sql: true
- 檢查實(shí)體類是否加入@Entity注解
- 檢查項(xiàng)目目錄結(jié)構(gòu),實(shí)體類是否在啟動(dòng)類所在包或子包目錄下
- 若不在,啟動(dòng)類上是否加入 @EntityScan("****") 注解
檢查過后,全都沒毛病,項(xiàng)目正常啟動(dòng),無報(bào)錯(cuò),但是可視化工具 navicat 中并沒有生成對(duì)應(yīng)的表,百思不得其解,也黔驢技窮了。后來抱著試一試的想法,在mysql安裝目錄bin 下 ,命令行查看數(shù)據(jù)庫表,發(fā)現(xiàn)對(duì)應(yīng)的表其實(shí)已經(jīng)建立成功,只是navicat沒有顯示出來。
然后就可以愉快的繼續(xù)啦~
至于為什么navicat中沒有顯示建好的表,可能小貓貓壞掉了吧。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
身份證號(hào)碼驗(yàn)證算法深入研究和Java實(shí)現(xiàn)
這篇文章主要介紹了身份證號(hào)碼驗(yàn)證算法深入研究和Java實(shí)現(xiàn),本文講解了18身份證號(hào)碼的結(jié)構(gòu)、根據(jù)17位數(shù)字本體碼獲取最后一位校驗(yàn)碼程序?qū)嵗葍?nèi)容,需要的朋友可以參考下2015-06-06JAVA基礎(chǔ)之注解與反射的使用方法和場(chǎng)景
這篇文章主要給大家介紹了關(guān)于JAVA基礎(chǔ)之注解與反射的使用方法和場(chǎng)景的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03SpringBoot引入Thymeleaf的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot引入Thymeleaf的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Bloc事件流是一個(gè)阻塞隊(duì)列結(jié)論解析
這篇文章主要為大家介紹了Bloc事件流是一個(gè)阻塞隊(duì)列結(jié)論解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11spring boot 項(xiàng)目中使用thymeleaf模板的案例分析
這篇文章主要介紹了spring boot 項(xiàng)目中使用thymeleaf模板的案例分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09