使用countBy(或动态查找器)不会给出结果,但是withCriteria可以给出结果。
这是类(class):
class Message {
EntityType entityType
String code
}
然后:
assert 1 == Message.countByCodeAndEntityType("category.name.${result.id}", EntityType.APPLICATION_TEXT)
返回0(错误的断言),但是...
assert 1 == Message.createCriteria().list(){
eq ("code", "category.name.${result.id}")
eq ("entityType",EntityType.APPLICATION_TEXT)
projections{
count()
}
}[0]
给出正确的结果,返回1
是什么原因?
最佳答案
您是否检查过$ {result.id}在两个变体中是否正确解析?
SQL看起来如何?
对于计数,我更喜欢这样:
Message.createCriteria().count(){
eq ("code", "category.name.${result.id}")
eq ("entityType",EntityType.APPLICATION_TEXT)
}
关于grails - CountBy WithCriteria不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31130600/