У меня есть несколько каталогов, в этих каталогах есть несколько категорий, в некоторых каталогах вообще нет категорий, и, наконец, есть продукты в разных категориях или каталогах.
например каталог Домашнее хозяйство будет иметь категорию Кухня , в которой затем будут продукты, такие как духовка, плиты, посудомоечная машина и c, а простыни продуктов будут непосредственно принадлежат к домашним хозяйствам каталога, а не к какой-либо категории
таким же образом химические вещества в каталоге не будут иметь никакой категории и будут содержать только продукты .
нижеуказанные вещи являются определенными
i) Все товары относятся к некоторым каталогам
ii) в некоторых каталогах будут категории, а затем категории будут содержать товары
iii) некоторые продукты будут принадлежать только каталогам и никогда не будут ассоциироваться с какой-либо категорией
Я придумал структуру классов моделей ниже, но я не уверен, что Как они будут обрабатывать вышеуказанный случай, не могли бы вы предложить что-нибудь?
@Entity
public class Catalogs {
@OneToMany(CascadeType.All, orphanRemoval = true)
@JoinColumn(name = "catalogs_id")
private Set<Categories> categories;
/* rest of the code will go here */
}
мой класс категорий будет таким
@Entity
public class Categories {
@OneToMany(CascadeType.All, orphanRemoval = true)
@JoinColumn(name = "categories_id")
private Set<Products> products;
}
наконец мой класс продуктов будет go таким
@Entity
public class Products {
/* Products related codes */
}
или Должен ли я также иметь поле для продуктов в моем классе каталога? как показано ниже
@Entity
public class Catalogs {
@OneToMany(CascadeType.All, orphanRemoval = true)
@JoinColumn(name = "catalog_id")
private Set<Categories> categories;
@OneToMany(CascadeType.All, orphanRemoval = true)
@JoinColumn(name = "catalog_id")
private Set<Products> products;
/* rest of the code will go here */
}