Spring Boot集成H2数据库连接正常但H2控制台未自动创建数据表
Spring Boot接入H2数据库未自动生成数据表排查方案
- 修正实体扫描注解:你使用的
ScanEntity为错误注解,正确的实体类扫描注解是@EntityScan("实体类所在全限定包名"),请先修正启动类上的注解名称与包路径。如果启动类所在包是实体类包的父级,无需额外添加该注解也可自动扫描。 - 补全JPA DDL自动建表配置:在
application.properties中添加以下配置,开启Hibernate自动建表能力:# 指定H2数据库方言 spring.jpa.database-platform=org.hibernate.dialect.H2Dialect # 自动建表策略可选值:create/create-drop/update/validate/none,开发环境推荐用update spring.jpa.hibernate.ddl-auto=update # 可选:开启SQL打印,方便排查建表是否执行 spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true - 核对H2控制台连接地址:应用启动时控制台会打印H2数据库的JDBC连接地址,请复制该地址填入H2控制台的JDBC URL输入框,不要使用控制台默认的连接地址,避免连接到不同的数据库实例导致看不到表。
- 检查实体类注解配置:确认实体类上添加了
@Entity注解,主键字段上添加了@Id注解,没有字段映射规则错误导致建表失败。 - 查看启动日志:排查应用启动过程中是否有JPA、Hibernate相关的报错信息,根据异常提示修正对应配置或实体类代码。
内容的提问来源于stack exchange,提问作者Tal Mosenzon
相关产品推荐
相关产品推荐

