Grails自动创建不需要的关系?

时间:2013-02-20 07:03:54

标签: grails gorm

我有两个域类,指定三个级别的分类。

class CategoryGroup {
    String name
    static hasMany = [categories:Category]   
}


class Category {
    String name
    Category topCategory = null
    Set<Category> subCategories

    static mappedBy = [subCategories:'topCategory',topCategory:'subCategories']
    static hasMany = [subCategories:Category, categoryGroups:CategoryGroup]
    static belongsTo = [CategoryGroup]
}

CategoryGroup是最高级别,然后每个CategoryGroup都有多个categories(并且每个Category可以在多个CategoryGroup下。此外,每个Category都有许多subCategories。如果topCategory拥有它的父类别,则可以将类别标识为子类别。

现在问题就在这里。

我制作了两个CategoryGroup s:男士和女士 然后我创建一个Category:服装,并将它放在男士和女士的下面 现在我创建了另外两个类别 - 拳击手和纱丽,并将它们作为服装的子类别,只有拳击手被置于CategoryGroup男士和衣服被置于CategoryGroup女性的下方。

我想要的是,当我选择Men's,然后我选择服装时,只有属于男性类别的服装下的SubCategories应该出现(即只有拳击手而不是纱丽)

但是当我这样做时,拳击手会自动添加到女士们!也就是说,当我boxers.categoryGroups.name时,我会看到男人和女人。

这怎么可能发生?

0 个答案:

没有答案