Я пытаюсь загрузить разных родителей, используя критерии в Grails. Запрос выглядит следующим образом
Запрос:
def criteria = Parent.createCriteria();
results = criteria.list(max:params.max, offset:params.offset){
projections{ groupProperty('id') }
children{
books{
like('title',"%book")
}
}
order("id","asc")
}
Классы доменов
class Parent {
String name
static hasMany = [children:Child]
static constraints = {
}
}
class Child {
String name
Parent parent
static belongsTo = [parent:Parent]
static hasMany = [books:Book]
static constraints = {
}
}
class Book {
String title
Child child
static belongsTo = [child:Child]
static constraints = {
}
}
Вопрос : Я не могу получить отдельные родительские строки.
Другие принятые подходы и их результаты: Я не знаю, почему groupProperty не работает. Я пробовал отчетливый в проекциях вместо groupProperty , и это тоже не плодотворно !. если я использую attribute.listDistinct вместо crit.list , тогда я могу получить отдельные родительские строки, но при более раннем подходе требуется получить totalCount из дополнительного запроса для разбивки на страницы , Поэтому я очень заинтересован в получении отдельных родительских строк, используя crit.list
Заранее спасибо