Grails:一对多关系的排序顺序不起作用

owe*_*nrh 2 grails grails-orm grails-domain-class

我有一个简单的双向一对多映射,如下所示,在拥有方指定了默认排序顺序.但是,排序顺序似乎没有得到应用?我正在使用Grails v2.0.1(我现在用v1.3.7复制了这个例子).

package playground

class User {

    String name

    static hasMany = [ posts : Post ]

    static mapping = {
        posts sort:'position'
    }
}
Run Code Online (Sandbox Code Playgroud)

package playground

class Post {

    int position = 1
    String message

    static belongsTo = [ user : User ]
}
Run Code Online (Sandbox Code Playgroud)

这是我用来练习它的集成测试代码......

    def User user = new User(name:'bob')
    user.addToPosts(new Post(position:2, message:'two'))
    user.addToPosts(new Post(position:3, message:'three'))
    user.addToPosts(new Post(position:1, message:'one'))

    assertTrue user.validate()
    assertFalse user.hasErrors()
    assertNotNull user.save()

    for (post in user.posts) {
        log.debug "Post message> ${post.message}"
    }
Run Code Online (Sandbox Code Playgroud)

请把我从痛苦中解脱出来,这可能是显而易见的,但我看不到它!谢谢.

Jac*_*iel 7

使用此代码:

package playground

    class User {

        String name
        static hasMany = [ posts : Post ]

        static mapping = {
            posts sort:'position' order:'desc'//order:'asc'
        }
    }
Run Code Online (Sandbox Code Playgroud)