1

問題に直行しましょう (Grails 1.1.1 では、以前のもので動作するはずです)。

私は2つのドメインを持っています:つまり、ユーザーと詳細は次のようになります:

Class User {
   String userName ; 
   ..... // another fields 

   static hasMany = [details:Detail];
}

Class Detail{
  String detailName ;
  ... // another fields 

  static belongsTo = [user:User];
}

今私がした場合:

def user = User.get(1);
Detail.findAllByUser(user);

なぜエラーが発生するのですか?

しかし、詳細を変更すると

Class Detail{
      String detailName ;
      ... // another fields 

      User user; 
      static belongsTo = [user:User];
    }

(ユーザーを追加することにより)通常どおりに動作します...

belongsTo を使った効果はありますか?または私はここで間違いの概念をしましたか?

4

1 に答える 1

3

あなたの例は、通常、詳細にアクセスする方法ではありません。詳細は、User インスタンスを介してアクセスされます。次に例を示します。

def user = User.get(1)
def userDetails = user.details   // not Detail.findAllByUser(user);
于 2009-06-26T12:42:36.193 に答える