springboot中自动建表无法更新字段怎么解决(springboot,开发技术)

时间:2024-05-03 07:26:47 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

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

Springboot中的配置

jpa:database-platform:org.hibernate.dialect.MySQL5InnoDBDialectdatabase:MYSQLshow-sql:trueproperties:hibernate.id.new_generator_mappings:truehibernate.cache.use_second_level_cache:falsehibernate.cache.use_query_cache:falsehibernate.generate_statistics:falsehibernate.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是否正确引入对应模块

<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文件配置是否存在错误

spring:datasource:url:jdbc:mysql://localhost:3306/dbdbd?useUnicode=true&characterEncoding=utf-8&useSSL=falseusername:*password:*driver-class-name:com.mysql.jdbc.Driverjpa:hibernate:ddl-auto:updatedatabase:mysqlshow-sql:true
  • 检查实体类是否加入@Entity注解

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

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

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

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

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:springboot中自动建表无法更新字段怎么解决的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:css中如何实现上下居中效果下一篇:

15 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18