5

User と Posts という 2 つのドメイン クラスがあり、それらの間には 2 つの関係があります。ユーザーは、彼がフォローしている投稿と多対多の関係を持っています: 私が持っている関係は次のとおりです:

User {
hasMany = [posts : Post, followingPosts: Post]
belongsTo = [Post] //For the many-to-many, this is the owner i'd like to have.

}

Post {
  hasMany = [followers: User]
  belongsTo = [owner: User] //For the 1-to-Many, this is my back-reference
}

今、私はGrailsと衝突しています。マッピングで解決しようとしましたが、成功しませんでした.これは私が得るエラーです:

    Domain classes [Post] and [User] cannot own each other in a many-to-many relationship. Both   contain belongsTo definitions that reference each other. (Use --stacktrace to see the full trace)

誰でもこれを解決する方法を知っていますか?

4

1 に答える 1

1

次のように、 mappedByを使用して実行できると思います。

class User{

  static hasMany = [posts : Post, followingPosts: Post]
  static mappedBy = [posts : "user"]
}


class Post{  

  User user
  static hasMany = [followers: User]
  static belongsTo = User
}

MappedByの詳細については、こちらをご覧ください。

于 2012-11-23T14:14:13.433 に答える