溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

springboot中自動(dòng)建表無(wú)法更新字段怎么解決

發(fā)布時(shí)間:2022-02-25 11:36:16 來(lái)源:億速云 閱讀:287 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“springboot中自動(dòng)建表無(wú)法更新字段怎么解決”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“springboot中自動(dòng)建表無(wú)法更新字段怎么解決”吧!

關(guān)于自動(dòng)建表,無(wú)法更新字段問(wèn)題

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)生成建表語(yǔ)句
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl # 取消駝峰式命名
hibernate.hbm2ddl.auto: create # 自動(dòng)生成建表語(yǔ)句

除了create配置,還有以下幾種

  • create會(huì)自動(dòng)建表,全部的Model都會(huì)新建表

  • create-drop會(huì)新建表,但會(huì)以及SessionFactory自動(dòng)刪除。

  • update會(huì)自動(dòng)建表,已存在的表無(wú)法更新,只會(huì)新增新添加的Model,生成表,所以這個(gè)注解無(wú)法更新已存在的表的字段屬性。

  • validate會(huì)對(duì)Model和數(shù)據(jù)庫(kù)表進(jìn)行校驗(yàn),字段屬性不一致時(shí),會(huì)報(bào)錯(cuò)none,不自動(dòng)建表,只基于Model的@entity和@Table映射數(shù)據(jù)庫(kù)的表(字段可以不對(duì)應(yīng))

springboot jpa未自動(dòng)建表問(wèn)題記錄

檢查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("****") 注解

檢查過(guò)后,全都沒(méi)毛病,項(xiàng)目正常啟動(dòng),無(wú)報(bào)錯(cuò),但是可視化工具 navicat 中并沒(méi)有生成對(duì)應(yīng)的表,百思不得其解,也黔驢技窮了。后來(lái)抱著試一試的想法,在mysql安裝目錄bin 下 ,命令行查看數(shù)據(jù)庫(kù)表,發(fā)現(xiàn)對(duì)應(yīng)的表其實(shí)已經(jīng)建立成功,只是navicat沒(méi)有顯示出來(lái)。

springboot中自動(dòng)建表無(wú)法更新字段怎么解決

到此,相信大家對(duì)“springboot中自動(dòng)建表無(wú)法更新字段怎么解決”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI