我的域使用 hibernate 过滤器,如下所示:
class UserMapping {
// Senseless App Logic here
static hibernateFilters = {
typeFilter(condition: "type = 'IDENTIFIED'", default: true)
flagFilter(condition: "flags = 'ACTIVE'", default: true)
}
}
当我在 Controller 中使用它们时,它们似乎适用得很好,但是当我在我的服务或工作中执行相同的 findBy.. 时,它们不适用。有什么建议吗?
如果有任何区别,我会在 mixin 中调用 findBy。
这个问题似乎相关,但并不完全是我正在寻找的: enabling grails hibernate filters
最佳答案
唯一自动启用过滤器的时间是在 Web 请求期间 - 这是由于插件的 HibernateFilterFilters
在每个 Web 请求之前应用所有启用的过滤器。但没有全局自动过滤逻辑 - 这是不切实际的。
而是使用 plugin documentation 中描述的方法之一,例如
UserMapping.withHibernateFilters {
..code to execute
}
关于Hibernate Filter 不适用于 Grails 服务/作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14351955/