2012-03-06 13 views
0

ユーザと権限という2つのクラスがあるとします。Grails双方向hasManyアソシエーションを使用したクエリ

これら二つのクラスの仕様は以下のとおりです。クエリレベルで

User{ 
    Integer id; 
    String userCode; 
    String password; 
    boolean active; 

    static hasMany = [authorities : Authority, userGroups : UserGroup] 

    static mapping = { 
     table("security_user") 
    } 
} 


Authority{ 
    Integer id 
    String roleTitle 
    String description 

    static hasMany = [features : Feature, users : User] 

    static belongsTo = User; 


} 

は、どのように私はすべて当局ものは、ユーザーの1つの特定のオブジェクトにマッピングされ得ることができますか?

user = User.findByUserCodeAndPassword(userCode,password); 
Set<User> users = new HashSet<User>(); 
users.add(user); 

List<Authority> authority = Authority.findAllByUsers(users); 

しかし、上記のコードは、ランタイムGrailsの例外を与えている:

のように、私は次のようなアプローチで試してみました。どうすればこの問題を解決できますか?

答えて

2

ちょうどuser.authoritiesを使用すると、ユーザーオブジェクトを取得した後にこれらの作業をすべて行う必要はありません。

関連する問題