如何像在 grails 中一样使我的 h2 数据库在 micronaut 中持久化?
Posted
技术标签:
【中文标题】如何像在 grails 中一样使我的 h2 数据库在 micronaut 中持久化?【英文标题】:How can I make my h2 database persistent in micronaut like I do in grails? 【发布时间】:2020-04-30 15:27:17 【问题描述】:我对 grails 和 gorm 有点熟悉,我尝试在 micronaut 中迈出第一步。 我成功地使用 Person.save() 存储我的 Person 实体,并使用 Person.findAll() 在内存 H2 数据库中检索。但是我没有成功地将我的 Person 持久地存储在我的磁盘上。我的 micronaut-cli.yml 看起来像这样:
profile: service
defaultPackage: my.app
---
testFramework: spock
sourceLanguage: groovy
dataSource:
pooled: true
#url: jdbc:h2:mem:devDb
url: jdbc:h2:file:/home/peter/devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
dbCreate: create
driverClassName: org.h2.Driver
username: sa
password:
hibernate:
cache:
queries: false
use_second_level_cache: false
use_query_cache: false
region.factory_class: org.hibernate.cache.ehcache.EhCacheRegionFactory
如您所见,我注释掉了内存中的 url 并将其替换为文件 url。使用该 url,我希望在我的主目录中有一个 devDb.h2.db 数据集,因为我从我的 grails 环境中知道它。
grails中的hibernate/gorm和grails外的hibernate/gorm有什么区别?
【问题讨论】:
【参考方案1】:您已将数据源配置放入micronaut-cli.yml
。相反,您希望将其放在 src/main/resources/application.yml
中(或任何您表达应用程序运行时配置的地方,micronaut-cli.yml
不是)。
希望对你有帮助。
【讨论】:
帮了大忙,现在数据库在它所属的地方持久化了,感谢您的即时答复。以上是关于如何像在 grails 中一样使我的 h2 数据库在 micronaut 中持久化?的主要内容,如果未能解决你的问题,请参考以下文章