千家信息网

springboot中自动建表无法更新字段怎么解决

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"springboot中自动建表无法更新字段怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"springboot中自动建表无法更新字
千家信息网最后更新 2025年01月19日springboot中自动建表无法更新字段怎么解决

本篇内容主要讲解"springboot中自动建表无法更新字段怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"springboot中自动建表无法更新字段怎么解决"吧!

关于自动建表,无法更新字段问题

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 # 自动生成建表语句    hibernate:      naming:        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl # 取消驼峰式命名hibernate.hbm2ddl.auto: create # 自动生成建表语句

除了create配置,还有以下几种

  • create会自动建表,全部的Model都会新建表

  • create-drop会新建表,但会以及SessionFactory自动删除。

  • update会自动建表,已存在的表无法更新,只会新增新添加的Model,生成表,所以这个注解无法更新已存在的表的字段属性。

  • validate会对Model和数据库表进行校验,字段属性不一致时,会报错none,不自动建表,只基于Model的@entity和@Table映射数据库的表(字段可以不对应)

springboot jpa未自动建表问题记录

检查pom是否正确引入对应模块

    org.springframework.boot    spring-boot-starter-data-jpa     mysql    mysql-connector-java

检查application文件配置是否存在错误

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
  • 检查实体类是否加入@Entity注解

  • 检查项目目录结构,实体类是否在启动类所在包或子包目录下

  • 若不在,启动类上是否加入 @EntityScan("****") 注解

检查过后,全都没毛病,项目正常启动,无报错,但是可视化工具 navicat 中并没有生成对应的表,百思不得其解,也黔驴技穷了。后来抱着试一试的想法,在mysql安装目录bin 下 ,命令行查看数据库表,发现对应的表其实已经建立成功,只是navicat没有显示出来。

到此,相信大家对"springboot中自动建表无法更新字段怎么解决"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0