如何将数据持久化到H2数据库中

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

我的应用程序有 3 个组件,

1)面向用户的组件,接收请求并将其存储到数据库中 2) 后端组件从数据库读取数据、处理数据并将其发送到外部系统。 3)存储用户输入的数据库

enter image description here 我目前正在 Eclipse 的内存数据库(不是基于文件)中使用 H2 进行测试。 我想进行端到端测试,但问题是我已经停止面向用户的组件并启动后端组件。 因此,每次启动后端组件时,数据库都会从头开始创建。

如何测试才能使流程像这样:用户输入数据 -> 数据持久化到数据库 -> Baackend 连接到相同的持久化数据 -> 处理数据 + 传递到外部系统?

注意:我尝试使用 ddl-auto: update,但它不起作用。

spring spring-boot persistence h2
3个回答
5
投票

除了

spring.jpa.hibernate.ddl-auto=update
之外,将 auto_reconnect 设置为 true

示例:

spring.datasource.url=jdbc:h2:file:~/test2;DB_CLOSE_ON_EXIT=FALSE;AUTO_RECONNECT=TRUE
spring.datasource.driver-class-name=org.h2.Driver

0
投票

该数据库支持多种连接方式和连接设置。这是通过使用不同的数据库 URL 来实现的。请参阅下面的链接以获取官方文档。

参考:https://www.h2database.com/html/features.html#database_url


0
投票

内存中的数据库无法持久保存数据,因为每次重新加载应用程序时,内存都会被擦除。考虑使用数据库的磁盘存储(嵌入式模式)或基于云的存储(服务器模式)。

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