0

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 のサブカテゴリとして作成します。CategoryGroupSarees はCategoryGroupWomen's の下に配置されます。

私が望むのは、Men's を選択してから Clothing を選択すると、親カテゴリ Men's に属する Clothing の下の SubCategories のみが表示されることです (つまり、ボクサーのみで、サリーは表示されません)。

しかし、これを行うと、ボク​​サーが自動的にレディースに追加されます! つまり、私がそうするとboxers.categoryGroups.name、男性用と女性用の両方が表示されます。

これはどのように起こりますか?

4

0 に答える 0