Grails 多连接排序问题

Grails 多连接排序问题,grails,groovy,Grails,Groovy,我在使用多个联接表进行排序时遇到问题。例如: class Account { static hasMany = [subscriptions: Subscription] static mapping = { subscriptions fetch: 'join' subscriptions sort: 'magazine' } } class Subscription { static belongsTo = [account:Account, mag

我在使用多个联接表进行排序时遇到问题。例如:

class Account {

  static hasMany = [subscriptions: Subscription]

  static mapping = {
    subscriptions fetch: 'join'
    subscriptions sort: 'magazine'
  }

}

class Subscription {

  static belongsTo = [account:Account, magazine: Magazine]

  static maping = {
    magazine fetch: 'join'
    magazine sort: 'name'
  }

}

class Magazine {
  String name  
  static mapping = {
    sort name: 'desc'
  }
}
调用someAccount.subscriptions时,按magazine.id生成查询订单。有没有办法按杂志订购。姓名?我尝试更改为订阅排序:“magazine.name”,但出现了一个错误,因为没有这样的属性


以下内容:默认排序顺序我试图通过从帐户中删除排序并仅在订阅中保留排序来将排序移动到关联级别,但最终从结果查询中完全删除了“orderby”。有什么想法吗?谢谢。

尝试在杂志类中实现compareTo方法:

class Magazine implements Comparable {
  String name  

  int compareTo(obj) {
      name.compareTo(obj.name)
  }
}
然后订阅一个

class Subscription implements Comparable {

    static belongsTo = [account:Account, magazine:Magazine]
    static constraints = {
    }
    int compareTo(obj) {
       return magazine.compareTo(obj.magazine)
    }
}
然后将订阅设置为SortedSet in帐户:

class Account {
    SortedSet subscriptions
    static hasMany = [subscriptions:Subscription]
}