我有两个域类,指定三个级别的分类。
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
时,我会看到男人和女人。
这怎么可能发生?