Hibernate Filter在Grails Service/Jobs中没有应用



我的域使用hibernate过滤器,如下所示:

class UserMapping {
    // Senseless App Logic here
    static hibernateFilters = {
        typeFilter(condition: "type = 'IDENTIFIED'", default: true)
        flagFilter(condition: "flags = 'ACTIVE'", default: true)
    }
}

当我在控制器中使用它们时,它们似乎适用,但是当我做同样的findBy..在我的服务或工作中,它们并不适用。有什么建议吗?

如果有区别的话,我在mixin中调用findBy。

这个问题似乎相关,但它不完全是我要找的:启用grails hibernate过滤器

过滤器自动启用的唯一时间是在web请求期间-这是由于插件的HibernateFilterFilters在每个web请求之前应用所有启用的过滤器。但是没有全局自动过滤逻辑——这将是不切实际的。

请使用插件文档中描述的方法之一,例如

UserMapping.withHibernateFilters {
   ..code to execute
}

在我的例子中,我发现我忘记了"default: true"标志。: o

我们在BootStrap中也有代码。Groovy,它启用hibernate过滤器:

def init = { servletContext ->
    //Hibernate filters
    MyDomainObject.enableHibernateFilter('myFilter')
}

(我意识到这个问题已经回答了,但我希望这有助于其他正在寻找的人。)

最新更新