You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot+JPA+MySQL CRUD API重启数据丢失,求持久化解决方案

解决Spring Boot重启后数据丢失的问题

问题根源

你的配置文件中jpa.hibernate.ddl_auto: create是导致数据丢失的核心原因:

  • create模式下,每次应用启动时Hibernate都会删除现有数据库表,重新创建新表,直接清空之前存储的所有数据。

解决方案

修改application.yaml中的JPA DDL配置,替换为以下合适的选项:

推荐配置选项

  1. update(开发阶段首选)

    • 启动时会根据实体类结构增量更新表结构:新增字段、调整字段类型等,但不会删除现有表或已存储的数据。
    • 配置代码:
      spring:
        jpa:
          hibernate:
            ddl-auto: update
      
  2. validate(生产环境推荐)

    • 启动时仅验证实体类与数据库表结构是否匹配,不做任何修改;若结构不匹配则启动失败,最大程度保障数据安全。
  3. none

    • 完全禁用Hibernate的自动DDL功能,适合完全手动管理数据库表结构的场景。

额外检查

  • 你的CloudVendor实体类注解(@Entity、@Id、@Table)配置正确,满足JPA持久化的基础要求。
  • 数据源URL、用户名、密码配置无误,确保应用能稳定连接MySQL数据库。

验证修改

修改配置后重启应用,创建测试数据,再停止并重启应用,检查数据库中的数据是否保留。

内容的提问来源于stack exchange,提问作者Dadinho2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 01:20:25