0

私は次のドメインを持っています:ユーザー、役割、会社。ユーザーとロールの関係は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 ]

User-Roleにはm:nがあるため(「authorities」変数でもすでに指定されています)。

他の回避策はありますか?ありがとう。

4

1 に答える 1

0

私があなたを正しく理解していれば、これはうまくいくはずです:

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

あなたのユーザーが会社に属していて、その逆ではないのは奇妙だと思わずにはいられません。つまり、会社を削除すると、その会社のすべてのユーザーが削除されます。とにかく、私はあなたのドメインを知らないので、黙ります!

于 2010-02-23T12:33:38.320 に答える