如何解决在一个域中有2个belongsTo

时间:2010-02-23 07:46:04

标签: grails gorm

我有以下域名:用户,角色,公司。用户和角色具有m:n关系,公司对用户具有1:m,用户对公司为1:1。我对用户域的定义有疑问。这是:

class User {
 static hasMany = [authorities: Role ]
 static belongsTo = [ Role , Company ]
}

我想从用户访问该公司,以便user.company将给我指定他所在的公司。不允许进行此修改:

static belongsTo = [ Role , company: Company ]

这是错误:

Unexpected node type: EXPR found when expecting type: LABELED_ARG at line: 9 column: 41. File: /Users/alfred/Applications/grails_projects/extramile/grails-app/domain/fbm/extramile/User.groovy @ line 9, column 41.

请注意,这也不是一个选项:

static belongsTo = [ role: Role , company: Company ]

由于用户角色具有m:n(也已由'authority'变量指定)。

还有其他解决方法吗?感谢。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这应该有效:

class User {
    static hasMany = [authorities: Role ]
    static belongsTo = [ Role , Company ]
    Company company
}

我不禁认为您的用户属于公司而不是相反,即删除公司会删除该公司中的所有用户。无论如何,我不知道你的域名所以我会闭嘴!