3 つのレベルの分類を指定する 2 つのドメイン クラスがあります。
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
カテゴリが親カテゴリである場合、そのカテゴリはサブカテゴリとして識別できます。
ここで問題です。
2 つCategoryGroup
の s: Men's と Women'sを作成します。
次に : Clothing を作成し、それをMen Category
's と Women's の両方の下に配置します。さらに 2 つのカテゴリ (Boxers と Sarees) を作成し、それらを Clothing のサブカテゴリとして作成します。CategoryGroup
Sarees はCategoryGroup
Women's の下に配置されます。
私が望むのは、Men's を選択してから Clothing を選択すると、親カテゴリ Men's に属する Clothing の下の SubCategories のみが表示されることです (つまり、ボクサーのみで、サリーは表示されません)。
しかし、これを行うと、ボクサーが自動的にレディースに追加されます! つまり、私がそうするとboxers.categoryGroups.name
、男性用と女性用の両方が表示されます。
これはどのように起こりますか?