Согласно последней документации GORM , метод count () в CriteriaBuilder должен возвращать "Счетчик результатов".
Я считаю, что это не так, когда проекция используется в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()