Grails映射问题 - 多对多

Jig*_*shi 4 grails hibernate data-modeling grails-orm

我有以下结构

class User{
  List<Post> posts = new ArrayList<Post>();
  static hasMany = [posts: Post]
}
Run Code Online (Sandbox Code Playgroud)
   class Post{
     User user  
     List<User> subscribers = new ArrayList<User>();
     static belongsTo = [user: User]
     static hasMany = [subscribers: User]
   } 
Run Code Online (Sandbox Code Playgroud)

它显示

引起:org.codehaus.groovy.grails.exceptions.GrailsDomainException:在多对多关系中没有在域类[class User]和[class Post]之间定义所有者.示例:static belongsTo = Post

  • 用户可以有多个帖子
  • 帖子属于用户
  • 帖子可以有多个订阅者

版本Grails 1.3.7

alo*_*nmo 5

我有同样的问题,意味着创建多对多的关系以及同一两个类之间的1对多关系.

这样做的方法如下:

用户类:

class User{

  static hasMany = [createdPosts: Post, subscribedToPosts : Post]
  static mappedBy = [createdPosts : "creator"]
}
Run Code Online (Sandbox Code Playgroud)

发布课程:

class Post{  

  User creator
  static hasMany = [subscribers: User]
  static belongsTo = User
}
Run Code Online (Sandbox Code Playgroud)

我在这次讨论中找到了答案