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

Spring Boot初始化时未将data.sql数据写入H2数据库问题求助

问题排查与解决方法

导致data.sql数据未写入的核心原因是JPA Hibernate自动建表操作与Spring Boot原生SQL脚本初始化的执行顺序冲突,对应解决步骤如下:


必改配置项

将以下配置添加到你的application.properties中:

# 方式1:完全关闭Hibernate自动建表,仅使用自定义schema.sql、data.sql管理表结构与初始数据
spring.jpa.hibernate.ddl-auto=none
# 显式开启SQL脚本初始化,确保脚本执行
spring.sql.init.mode=always

如果需要保留Hibernate根据实体类自动建表的能力,改用以下配置:

# 让SQL脚本初始化推迟到Hibernate建表完成后执行,避免数据被Hibernate清空
spring.jpa.defer-datasource-initialization=true
spring.sql.init.mode=always

其他可选排查点

  • 确认schema.sql和data.sql文件存放在src/main/resources根目录下,若存放在子目录需要额外配置spring.sql.init.schema-locations与spring.sql.init.data-locations指定路径
  • 确认H2数据库连接配置正确,启动项目后可通过H2控制台直接执行select * from EMPLOYEE_MODEL_READ验证数据是否存在
  • 检查SQL脚本语法是否存在错误,启动日志中若存在SQLException相关报错可针对性修正SQL语句

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 20:06:03