Spring boot应用程序无法从data.sql执行插入语句抛出异常|找不到表

问题描述 投票:0回答:2

我正在尝试创建一个简单的 SpringDataJPA 应用程序。我正在使用H2数据库。使用 @entity 注解对模型类进行注解后,表已在 H2 DB 中成功创建,并且可以通过 h2-console 查看该表。但是,为了初始化表,我尝试插入 data.sql 中的值,但在启动应用程序时,错误表明未找到该表。为什么我可以查看表却找不到表?

POM.xml

Model Class

application.properties

data.sql

Console output

java spring-boot hibernate spring-data-jpa h2
2个回答
5
投票

Spring Boot 2.5.0 改变了 schema.sql 和 data.sql 的处理方式。

你必须设置

spring.jpa.defer-datasource-initialization=true

使您的示例发挥作用。

请阅读https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto.data-initialization.using-basic-sql-scripts


0
投票

是的,如果您使用的是最新版本的 Spring Boot,请启用 spring.jpa.defer-datasource-initialization。

© www.soinside.com 2019 - 2024. All rights reserved.