В Grails нужно определить набор для отношения «один ко многим»?

У меня есть доменные классы Grails Child и Toy. У ребенка может быть много игрушек.

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

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

Насколько я понимаю, на сайте Child будет собственность игрушек. То есть будет метод Child:

public Set getToys()

Но это не работает. Я не могу сослаться на child.getToys() из класса Java. Я явно определил игрушки в Child:

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

Это правильно? Нужно ли мне явно определять Set для отношения «один ко многим»?


person Steve Kuo    schedule 28.12.2008    source источник


Ответы (1)


Да, вам нужно явно определить свойство, если вы хотите ссылаться на него из Java. Это связано с тем, как компилятор groovy (groovyc) создает классы-заглушки для Groovy beans.

person Siegfried Puchbauer    schedule 28.12.2008
comment
См. Мой пост на [email protected]. Утверждается, что это было исправлено в Grails 1.1. nabble.com/ - person Steve Kuo; 29.12.2008