2012-01-28 14 views
4
多くの

に多くの私は、構造Grailsのマッピング問題 -

class User{ 
    List<Post> posts = new ArrayList<Post>(); 
    static hasMany = [posts: Post] 
} 

class Post{ 
    User user 
    List<User> subscribers = new ArrayList<User>(); 
    static belongsTo = [user: User] 
    static hasMany = [subscribers: User] 
    } 

を以下しているし、それが

に起因する例を示します org.codehaus.groovy.grails.exceptions。 GrailsDomainException: ドメインクラス[クラスユーザー]と[クラス投稿]の間で、 がmany-to-manyの関係に定義されていません.h ip。例:静的のbelongsTo =ポスト

  • ユーザーが持つことができ、複数のポスト
  • Aポストは
  • A Postは、複数の加入者

バージョンのGrails 1.3.7を持つことができ、ユーザーに属しています

+1

一度にすべての投稿を取得することについてコメントしないでください –

答えて

5

私は同じ問題を抱えていました。これは多対多の関係を作り、1対多の関係同じ2つのクラスの間の授業です。

Userクラス:

class User{ 

    static hasMany = [createdPosts: Post, subscribedToPosts : Post] 
    static mappedBy = [createdPosts : "creator"] 
} 

Postクラス:

class Post{ 

    User creator 
    static hasMany = [subscribers: User] 
    static belongsTo = User 
} 

私はthis discussion

でその答えを見つけたことを行うには

方法は以下の通りです

+0

うん、その答えはそれを修正する必要があります。 また、これはドキュメント(http://grails.org/doc/2.0.x/ref/Domain%20Classes/mappedBy.html)に曖昧に記載されています – kritzikratzi