micronaut 中的 H2 默认 jdbc url 是什么
What is the H2 default jdbc url in micronaut
我在 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
returns 什么都没有。当我将 IFEXISTS=true
添加到 url 时,出现以下错误:
[90146][90146] Database "mem:devDb" not found, and IFEXISTS=true, so we cant auto-create it [90146-200].
该应用程序正在运行 - 我可以插入和获取数据,但我不知道数据位于何处,也不知道如何在应用程序外访问它。
What is the H2 default jdbc url in micronaut
对于 hibernate-jpa
功能,默认 url 为 jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
。
...but I don't have a clue where the data is located, and how to access
it outside the app.
数据位于内存中,只能由创建内存数据库的应用程序访问。如果您希望任何其他进程访问数据,您使用内存数据库的应用程序将需要提供对数据的访问(例如通过 API)。
这只是一个限制,因为您使用的是内存数据库。如果您需要多个进程连接到数据库,使用内存数据库可能不是最佳解决方案。
我在 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
returns 什么都没有。当我将 IFEXISTS=true
添加到 url 时,出现以下错误:
[90146][90146] Database "mem:devDb" not found, and IFEXISTS=true, so we cant auto-create it [90146-200].
该应用程序正在运行 - 我可以插入和获取数据,但我不知道数据位于何处,也不知道如何在应用程序外访问它。
What is the H2 default jdbc url in micronaut
对于 hibernate-jpa
功能,默认 url 为 jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
。
...but I don't have a clue where the data is located, and how to access it outside the app.
数据位于内存中,只能由创建内存数据库的应用程序访问。如果您希望任何其他进程访问数据,您使用内存数据库的应用程序将需要提供对数据的访问(例如通过 API)。
这只是一个限制,因为您使用的是内存数据库。如果您需要多个进程连接到数据库,使用内存数据库可能不是最佳解决方案。