服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - springboot中关于自动建表,无法更新字段的问题

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

2022-07-29 11:31Tonels Java教程

这篇文章主要介绍了springboot中关于自动建表,无法更新字段的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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

Springboot中的配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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是否正确引入对应模块

?
1
2
3
4
5
6
7
8
<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文件配置是否存在错误

?
1
2
3
4
5
6
7
8
9
10
11
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中关于自动建表,无法更新字段的问题

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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_42105629/article/details/94387321

延伸 · 阅读

精彩推荐
  • Java教程Java正则表达式易错知识点汇总

    Java正则表达式易错知识点汇总

    这篇文章主要总结Java正则表达式易错知识,对易错知识点进行分类整理,帮助大家更好的学习Java正则表达式,感兴趣的小伙伴们可以参考一下 ...

    leizhimin4582020-03-11
  • Java教程Spring重试支持Spring Retry的方法

    Spring重试支持Spring Retry的方法

    本篇文章主要介绍了Spring重试支持Spring Retry的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    人生的旅客4912021-04-20
  • Java教程java集合框架线程同步代码详解

    java集合框架线程同步代码详解

    这篇文章主要介绍了java集合框架线程同步代码详解,具有一定借鉴价值,需要的朋友可以参考下。...

    光与热4792021-03-09
  • Java教程配置Spring4.0注解Cache+Redis缓存的用法

    配置Spring4.0注解Cache+Redis缓存的用法

    本篇文章主要介绍了详解配置Spring4.0注解Cache+Redis缓存的用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    千里之行-非一朝一夕2922020-09-14
  • Java教程springBoot 项目排除数据库启动方式

    springBoot 项目排除数据库启动方式

    这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    日日留心,事事留心5912021-12-25
  • Java教程Java调用setStroke()方法设置笔画属性的语法

    Java调用setStroke()方法设置笔画属性的语法

    这篇文章主要介绍了Java调用setStroke()方法设置笔画属性的语法,如何改变线条的粗细、虚实和定义线段端点的形状、风格等,需要的朋友可以参考下...

    司机5012020-12-28
  • Java教程手把手写Spring框架

    手把手写Spring框架

    Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架...

    Mr.Bean-Pig8302021-12-01
  • Java教程java日期工具类实例分享

    java日期工具类实例分享

    本文介绍一个java日期工具类,功能有英文简写、英文全称、精确到毫秒的完整时间、中文简写、中文全称等方法 ...

    java技术网2442019-10-29