在 Grails 中,需要为一对多关系定义一个 Set 吗?

Posted

技术标签:

【中文标题】在 Grails 中,需要为一对多关系定义一个 Set 吗?【英文标题】:In Grails, need to define a Set for one-to-many relationship? 【发布时间】:2010-09-28 15:23:30 【问题描述】:

我有 Grails 域类 Child 和 Toy。一个孩子可以有很多玩具。

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


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

据我了解,Child 上会有一个玩具财产。也就是会有 Child 方法:

public Set getToys()

但这不起作用。我无法从 Java 类中引用 child.getToys()。我在 Child 中明确定义了玩具:

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

这是正确的吗?我是否需要为一对多关系显式定义一个 Set?

【问题讨论】:

【参考方案1】:

是的,如果您想从 Java 中引用它,您必须明确定义该属性。这与 groovy 编译器 (groovyc) 为 groovy bean 创建存根类的方式有关。

【讨论】:

查看我在 user@grails.codehaus.org 上的帖子。声称这已在 Grails 1.1 中修复。 nabble.com/…

以上是关于在 Grails 中,需要为一对多关系定义一个 Set 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Grails 3 中一对多域的深拷贝

Grails里DOMAIN类的一对一,一对多,多对多关系总结及集成测试

为啥当我在 grails 上删除一对多关系上的父级时,会在子级上调用 beforeInsert 事件?

grails一对一关联关系

grails 一对多求和

在模型值及其关系中查找字符串的一部分的自定义搜索(一对多)