我需要一种能够使域类具有许多自身的方法。换句话说,存在父子关系。我正在处理的表包含数据,然后有一个列称为“parent_id”。如果设置了parent_id,则它是该元素的子级。

Grails中有什么方法可以告诉hasMany看哪个字段作为参考?

最佳答案

这是您要查找的示例(这是我正在运行的代码段,它会生成列parent_id)。我认为您不需要SortedSet:

class NavMenu implements Comparable {
    String category
    int rank = 0

    String title
    Boolean active = false

    //NavMenu parent
    SortedSet subItems
    static hasMany = [subItems: NavMenu]
    static belongsTo = [parent: NavMenu]
  }

此外,您可以使用Mapping DSL为hasMany子句命名,这在http://grails.org/GORM+-+Mapping+DSL中有解释。

10-05 19:01