Hibernate Filter 不适用于 Grails 服务/作业

标签 hibernate grails grails-orm

我的域使用 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/

相关文章:

java - 对象内的 Hibernate 查询列表

grails - GRAILS:createCriteria NAND

grails - 使用注入(inject)的服务序列化域实例?

grails - 使用 Hibernate Filters 插件软删除 Grails 中的实体

hibernate - 关于 JPA persistence.xml

mysql - HHH000203 : processEqualityExpression() : No expression to process

java - 移动到新的 spring 后无法启动服务器启动 Tomcat 上下文时出错

grails - 如何在 grails 1.3.7 中对具有 JodaTime/DateTime 类型的属性的域对象进行排序?

java - 如何将单个实体类动态映射到多个表?

grails - 使用 Gradle 运行时设置 Grails 端口