2008-12-28 7 views
2

J'ai les classes de domaine Grails Child and Toy. Un enfant peut avoir beaucoup de jouets.Dans Grails, vous devez définir un ensemble pour une relation un-à-plusieurs?

class Child { 
    static hasMany = [ toys : Toy ] 
    String name 
} 

class Toy { 
    static belongsTo = [ owner : Child ] 
    String name 
} 

J'ai cru comprendre qu'il y aurait une propriété de jouets sur l'enfant. Autrement dit, il y aura la méthode enfant:

public Set getToys() 

Mais cela ne fonctionne pas. Je ne peux pas référencer child.getToys() à partir d'une classe Java. J'ai explicitement défini les jouets dans l'enfant:

class Child { 
    static hasMany = [ toys : Toy ] 
    String name 
    Set toys 
} 

Est-ce correct? Ai-je besoin de définir explicitement un ensemble pour une relation un-à-plusieurs?

Répondre

3

Oui, vous devez définir la propriété de manière explicite si vous voulez la référencer à partir de Java. Cela a à voir avec la façon dont le compilateur groovy (groovyc) crée les classes de stub pour les haricots groovy.

+0

Voir mon article sur [email protected] L'affirmation est que ceci a été corrigé dans Grails 1.1. http://www.nabble.com/Define-Set-for-one-to-many-relationship--td21195999.html –

Questions connexes