我对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不是)。

希望对您有所帮助。

10-05 22:52
查看更多