我对grails和gorm有点熟悉,因此我尝试着迈出Micronaut的第一步。
我成功地将Person实体与Person.save()存储在一起,并通过Person.findAll()在内存H2-Database中进行检索。但是我无法成功将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,我从我的grails环境中就知道在我的主目录中有一个devDb.h2.db数据集。
grails中的hibernate / gorm和grails外的hibernate / gorm有什么区别?
最佳答案
您已将dataSource配置放入micronaut-cli.yml
中。相反,您想将其放在src/main/resources/application.yml
中(或者在您表示应用程序的运行时配置的任何地方,而micronaut-cli.yml
不是)。
希望对您有所帮助。