2012-01-28 4 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 relationsh ip. 예 : 정적 belongsTo를 = 포스트

  • 사용자가 가질 수있는 여러 포스트
  • 게시물은
  • 게시물은 다수의 가입자

버전 Grails의 1.3.7을 가질 수 있습니다 사용자에 속하는

+1

번에 모든 게시물을 가져 오는 것에 대해서는 언급하지 마십시오. –

답변

5

나는 많은 문제를 맺었습니다. 같은 두 클래스 사이의 tionship.

사용자 클래스 :

class User{ 

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

포스트 클래스 :

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