Как установить смещение в GORM при использовании createCriteria? - PullRequest
3 голосов
/ 13 мая 2010

Мне просто интересно, возможно ли для createCriteria указать paginateParams (то есть смещение), подобное динамическому поиску (findAll и т. Д.)

Обратите внимание, что этот код не работает, так как 'смещение' не задокументировано в http://www.grails.org/doc/1.2.1/ref/Domain%20Classes/createCriteria.html

def c = SnbrItemActDistance.createCriteria()
def results = c.list {
    eq('iid', newsId)
    ge('distance', cap)

    maxResults(count)
    offset(offset)
    order('distance', 'desc')
}

Ответы [ 2 ]

7 голосов
/ 13 мая 2010

Полагаю, вы хотите использовать что-то вроде:

...
firstResult(offset)
...

Насколько я помню, DSL Criteria близко соответствует классу Hibernate .

2 голосов
/ 14 мая 2010

Вы также можете перейти к карте, например,

def c = SnbrItemActDistance.createCriteria()
def results = c.list(max:count, offset:offset) {
    eq('iid', newsId)
    ge('distance', cap)
}
...