2013-03-05 19 views
1

我在我的grails项目中有三个类。什么是正确的Grails域定义在grails域中有泛型belongsTo

Class A { 

List<Resource> xResources 
List<Resource> yResources 

hasMany = [ xResources: Resource, yResources: Resource] 
} 

Class B { 
    List<Resource> zResources 
    hasMany = [ zResources: Resource] 
} 


Class Resource { 

    String title 
    ..... 
    .. 

belongsTo = [A, B] 

} 

,因为我没有提到的mappedBy在A类如何能够避免上述定义失败。我希望Resource类是通用的。 我不想限制Resource类仅限于两个类,但我应该允许它将其扩展到其他类。我还需要从Resource对象获取源引用。对于这种情况,什么应该是适当的GORM定义。

回答

0

我看到你的代码3个主要问题:

  1. xResources, yResources, zResources的双重定义的属性。只删除重复的List<Resource> ...定义。

  2. hasMany and belongsTo在它之前应该有一个关键词static。我不确定belongsTo可以指向多个班级。如果没有,只需删除它。

+0

通过belongsTo分多个类 – NARENDRA 2013-03-06 03:07:30

0

请按照下面的代码

Class A { 
static hasMany = [ xResources: Resource, yResources: Resource] 
} 

Class B { 

static hasMany = [ zResources: Resource] 
} 


Class Resource { 

    String title 
    ..... 
    .. 

static belongsTo = [a:A, b:B] 

}