Проблема отображения Грааля - много ко многим - PullRequest
4 голосов
/ 28 января 2012

У меня следующая структура

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: нет владельца определены между классами домена [класс User] и [класс Post] в отношения многие ко многим. Пример: статическая принадлежность = пост

  • Пользователь может иметь несколько сообщений
  • Сообщение принадлежит пользователю
  • Сообщение может иметь несколько подписчиков

Версия Grails 1.3.7

1 Ответ

5 голосов
/ 05 марта 2012

У меня была та же проблема: создание отношения многих ко многим И отношения 1 ко многим между одними и теми же двумя классами.

Это можно сделать следующим образом:

Класс пользователя:

class User{

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

Почтовый класс:

class Post{  

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

Я нашел этот ответ в этом обсуждении

...