在独立GORM中禁用Hibernate缓存

时间:2016-04-08 14:19:28

标签: hibernate groovy gorm

我有一个运行GORM独立的应用程序(即没有Grails)。一切正常,但它使用GORM3,我想将其移植到GORM5

Spock规范中,我初始化GORM以连接到DB并传递一些自定义属性,最重要的属性是 hibernate.cache.use_second_level_cache

GORM3中,它是这样的:

    def init = new HibernateDatastoreSpringInitializer(ClassLoader.systemClassLoader, "my.pkg")
    def prop = new Properties()
    prop.setProperty('hibernate.cache.use_second_level_cache', 'false')
    init.setConfiguration(prop)
    init.configureForDataSource(dataSource)

在GORM5中,AbstractDatastoreInitializer.configuration的类型不是Properties而是PropertyResolver。

我试过这样的事情:

def entities = getEntities()
def props = ['hibernate.cache.use_second_level_cache': 'false']
def init = new HibernateDatastoreSpringInitializer(props, entities)
init.configureForDataSource(dataSource)

但是该属性未被拾取并且hibernate抱怨二级缓存被禁用但没有提供工厂。

我试着用其他许多方法没有运气。我错过了什么?

1 个答案:

答案 0 :(得分:0)

这是GORM中的一个错误,它将在5.0.5中修复 https://github.com/grails/grails-data-mapping/issues/698