hibernate - 如何登录HibernateCriteriaBuilder

标签 hibernate grails groovy criteria

我尝试将某些详细信息记录在grails域类的namedQuery中,但是记录错误。

static namedQueries = {
  firstThree {
    if (booleanValue) {
       log.trace "booleanValue = true"
       eq ('bar', foo)
    }
    maxResults(3)
  }
}

错误
No such property: log for class: grails.orm.HibernateCriteriaBuilder

如何登录标准?

最佳答案

问题在于log属性不是静态的,因此在静态闭包中不可见。您可以创建自己的静态记录器并使用它,例如

static final Logger LOG = Logger.getLogger('some.logging.category.name')

然后使用:
static namedQueries = {
  firstThree {
    if (booleanValue) {
       LOG.trace "booleanValue = true"
       eq ('bar', foo)
    }
    maxResults(3)
  }
}

关于hibernate - 如何登录HibernateCriteriaBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831985/

相关文章:

sorting - Grails数据排序

gradle - 使用 Gradle 的 Kotlin 脚本配置获取属性的正确方法

java - 我无法将 Mockito 单元测试重写为 Spock 规范

groovy - 如何使用 Python 风格的 kwargs 和默认值进行 Groovy 方法签名?

hibernate - 在 Hibernate 中使用 Enum 会导致 select 后跟更新语句

mysql - Hibernate 双向或两个单向关系

java - Hibernate Criteria 使用 FetchType.EAGER 多次返回子级

hibernate - Grails:当前事务中的原始 SQL 查询

grails - 如何使用 Sonarlint for IntelliJ 分析 Groovy 代码?

grails - 如何创建一个返回多变量数据管道 “grid”的方法?