我们有一段代码可以选择一大堆用户ID(200,000+)。 然后代码循环遍历每个获取更多信息。
def crit = Subscription.createCriteria()
def result = crit.get {
projections {
rowCount()
}
eq('userId', userId)
eq('deptId', deptId)
ge('endDate', new Date())
}
我们只想知道是否存在“有效”的记录。 这很好用。直到我们在阵列中进一步创下纪录。然后Grails抛出以下异常:
2012-08-13 16:00:45,518 ERROR subscription.service.SubscriptionServiceImpl(?:?) - No signature of method: static com.me.subscription.model.Subscription.createCriteria() is applicable for argument types: () values: []
groovy.lang.MissingMethodException: No signature of method: static com.me.subscription.model.Subscription.createCriteria() is applicable for argument types: () values: []
为什么这个循环适用于成千上万条记录,然后弹出这个异常?
通过IntelliJ中的调试器查看代码显示所有参数都有效。但是当我运行一个表达式时:
def asd = Subscription.createCriteria()
缺少该方法。 这不是一个模拟的方法。这是在生产中运行。我是否达到了一些顶级界限?