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

网友投稿 345 2022-08-25


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

目录关于自动建表,无法更新字段问题Springboot中的配置除了create配置,还有以下几种springbootjpa未自动建表问题记录检查pom是否正确引入对应模块检查application文件配置是否存在错误

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

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 中并没有生成对应的表,百思不得其解,也黔驴技dMcqfCg穷了。后来抱着试一试的想法,在mysql安装目录bin 下 ,命令行查看数据库表,发现对应的表其实已经建立成功,只是navicat没有显示出来。

然后就可以愉快的继续啦~

至于为什么navicat中没有显示建好的表,可能小猫猫坏掉了吧。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python面向对象编程——文件操作(python支持面向对象的编程技术)
下一篇:python面向对象编程——打包
相关文章

 发表评论

暂时没有评论,来抢沙发吧~