我有一个包含一堆域类的插件。该插件被多个应用程序使用。
我的问题是我无法在域类本身中指定映射->缓存设置(因为它们需要具有不同的值,具体取决于使用它们的应用程序)。例如,在应用程序 A 中,我想让域类 X 只读缓存,而域类 Y 不缓存。在应用程序 B 中,我想缓存域类 X 事务,并缓存域类 Y 只读。
我想要的(我希望这已经可用)是这样的:
grails.gorm.default.mapping { cache true }
但不是全局性的,我可以只应用到一个特定的域类,比如:
grails.gorm.com.integralblue.domain.User.mapping { cache true }
有人建议让每个域类检查 grails 配置,例如:
static mapping = {
cache: Holders.grailsApplication.config.com.package.Person.cache ?: false
}
和配置:
com.package.Person.cache = true
但如果可能的话,我想避免这种情况
谢谢!