根据the latest GORM documentation,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()
来获取类的实例总数