В Grails, как я могу заказать загруженные доменные записи? - PullRequest
1 голос
/ 10 мая 2011

Привет, я хотел бы заказать зарегестрированные доменные объекты, которые принадлежат другому классу домена в отношении 1: m, но не могу понять, как это сделать.Когда я пытаюсь с упрощенным проектом, я получаю ошибку.Ниже приведены мои попытки:

class Picture {
    String name

    static hasMany = [comments:Comment]
    static mapping = {
        comments(lazy:false, sort:'content', order:'desc')
    }
}

class Comment {
    String content
    Date dateCreated

    static belongsTo = [Picture]
}

Теперь, при тестировании способа извлечения записи с помощью println Picture.get(1) as JSON, я получаю следующую ошибку:

java.sql.SQLException: Column not found: COMMENTS0_.CONTENT in statement [select comments0_.picture_comments_id as picture1_0_, comments0_.comment_id as comment2_0_ from picture_comment comments0_ where comments0_.picture_comments_id=? order by comments0_.content desc

Без sort:'content', order:'desc', комментарии в случайном порядке, но без ошибок.

1 Ответ

0 голосов
/ 13 января 2012

Я закончил упорядочивание после того, как список детей уже был получен, в то время, когда они мне нужны в коде.Примерно так:

def sortedComments = myPicture.comments.sort{it.content}.reverse()

Имеет преимущество, заключающееся в том, что он позволяет неограниченные конфигурации сортировки по мере необходимости, а не только одну, полученную по умолчанию.

...