我尝试将某些详细信息记录在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/

10-09 00:33