在Grails中,我如何订购热切的域名记录?

时间:2011-05-10 06:49:56

标签: grails gorm

问候,我想订购另一个域类拥有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 :(得分:0)

在我已经获取子列表之后,我最终完成了排序,当时我在代码中需要它们。像这样:

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

具有允许根据需要进行无限排序配置的优势,而不是默认情况下只检索一个。