Я новичок в объектно-ориентированном проектировании баз данных, и я пытаюсь понять, как мне следует структурировать свои классы в JDO для движка приложений Google, особенно отношения один ко многим.построение структуры для универмага, в котором много отделов, а в каждом отделе много продуктов.Поэтому я хотел бы иметь класс с именем Department, с переменной, представляющей собой список класса Product.
@PersistenceCapable
public class Department {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private String deptID;
@Persistent
private String departmentName;
@Persistent
private List<Product> products;
}
@PersistenceCapable
public class Product {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private String productID;
@Persistent
private String productName;
}
Но один продукт может находиться в нескольких отделах (например, батарея может быть вэлектроника и товары для дома).Итак, следующий вопрос: как мне не дублировать данные в мире OOD и иметь только одну копию данных о продуктах во многих отделах?И следующий вопрос, скажем, я удаляю конкретный продукт, откуда каждый отдел знает, что он был удален?