【发布时间】:2021-01-12 20:15:22
【问题描述】:
我在 application.yml 中有以下数据源配置(Micronaut 默认值):
datasources:
default:
url: jdbc:h2:mem:devDb;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
driverClassName: org.h2.Driver
username: 'user'
password: 'user'
schema-generate: CREATE_DROP
dialect: H2
jpa.default.properties.hibernate.hbm2ddl.auto: update
Hikari 记录以下内容:
21:09:01.750 [main] DEBUG com.zaxxer.hikari.HikariConfig - jdbcUrl.........................jdbc:h2:mem:devDb;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
这似乎是正确的。我尝试连接到数据库,并成功。悬停SHOW TABLES 不返回任何内容。当我将IFEXISTS=true 添加到 url 时,我收到以下错误:
[90146][90146] Database "mem:devDb" not found, and IFEXISTS=true, so we cant auto-create it [90146-200].
应用程序正在运行 - 我可以插入和获取数据,但我不知道数据的位置,以及如何在应用程序之外访问它。
【问题讨论】:
-
这是一个 H2
mem数据库 - 一个 in-memory DB。该文档解释了此类数据库的位置和访问限制。基本上,它只存在于运行您的应用程序的 JVM 中。没有外部存储位置。