根据最新的 GORM 文档,CriteriaBuilder 的 count() 方法应该返回“结果计数”。
当 CriteriaBuilder 中使用投影时,我发现这不是真的;然后 count() 似乎返回类中的实例总数。
例如,在我的测试应用程序中,这段代码
def c = gtest01.TestA.createCriteria()
c.list {
projections {
groupProperty 'grouping'
count()
}
}.each { t ->
println "t $t"
}
如预期的那样打印 8 行:
t [1, 12]
t [2, 16]
t [3, 9]
t [4, 18]
t [5, 5]
t [6, 20]
t [7, 13]
t [8, 7]
而这段代码
c = gtest01.TestA.createCriteria()
c.count {
projections {
groupProperty 'grouping'
count()
}
}.each { t ->
println "t $t"
}
印刷
t 100
这是TestA的实例总数。
在我看来,要么文档错误,要么 count() 代码错误。我希望问题出在代码上,因为我总是可以通过调用来获取类的实例总数gtest01.TestA.count()