为什么每次我的 Spring Boot 应用程序启动时我的 h2 数据库都是空的?

程序员

我在具有 spring-boot-starter-data-jpa 依赖项的 maven 项目中使用 spring boot。

在我的 application.yml 文件中,我有:

spring.datasource.url: jdbc:h2:./data;DB_CLOSE_ON_EXIT=FALSE

我还有一个 DataPopulation 类:

if (userRepository.findAll().iterator().hasNext()) {
  // Database already has users..
}

其中 userRepository 是一个 CrudRepository 实例。

每次启动时,userRepository 都不会返回任何用户,无论上次运行应用程序时添加了多少用户。

我可以看到 data.mv.db 和 data.trace.db 文件被创建并且不为空。

为什么我的数据库在启动时总是空的?我错过了什么?

程序员

我的 jdbc 字符串没有任何问题。Spring Boot 使用“create-drop”作为默认的休眠 ddl-auto 值。

我通过添加解决了这个问题:

spring.jpa.hibernate.ddl-auto=更新

到我的属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Spring Boot应用程序中找不到我的h2数据库

每次 web 应用程序启动时,带有 H2 的 Spring Boot 都在运行 data.sql,这正常吗?

为什么我在 H2 模式中找不到我的表/如何验证我的 Spring Boot 应用程序正在使用哪个 H2 模式?

具有H2文件数据库的Spring Boot应用程序

Spring启动的PostgreSQL-每当我启动应用程序时数据库都是空的

如何在Spring Boot应用程序启动时启动H2 TCP服务器?

我的 Spring 数据库 (H2) 不持久

当我启动 spring boot 应用程序时,我的数据库没有启动

H2 数据库 - 为多个 Spring Boot 应用程序使用持久存储

H2 数据库 - 为多个 Spring Boot 应用程序使用持久存储

Spring Boot-内存泄漏-H2数据库-不注销驱动程序

推荐使用Spring Boot开发时使用H2数据库吗?

如何从另一个Spring Boot应用程序访问一个Spring Boot应用程序的内存h2数据库

当数据库不为空时,我从 findAll Spring 数据和 h2 数据库中获得空列表

h2数据库保留数据,但在应用程序启动时重置

Spring Boot应用程序中的H2模式为空

Spring Boot Test似乎正在创建H2测试数据库,这与我期望的有所不同

在Spring Boot应用程序中使用Flyway时,如何在H2中加载初始数据?

Spring Boot H2数据转换

我如何将作业从Spring项目持久保存到H2数据库

Spring Boot中嵌入式H2数据库的默认名称是什么?

应用程序启动时 Spring Boot Hibernate 数据源异常 null 异常

在应用程序启动时更新 Spring Boot 数据源属性

带有Redis的Spring Boot应用程序在启动时插入数据

我的 Spring Boot 应用程序容器无法连接到我的 postgresql 数据库

在STS中启动时,我的spring boot应用程序运行正常,但是如果我尝试用jar,这种方法会杀死它吗?

为什么H2数据库在Springboot应用程序中使用Hibernate Core

从 Spring 应用程序停止和重新启动基于文件的 H2 数据库

为什么我刚刚实现的 H2 数据库出现“数据库可能已在使用中:空”错误?