我是面向对象数据库设计的新手,我试图了解我应该如何在 JDO 中为谷歌应用程序引擎构建我的类,特别是一对多关系。
假设我正在为一家百货公司构建一个结构,其中有很多部门,每个部门都有很多产品。所以我想要一个名为 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世界中不重复数据,在众多部门中只有一份产品数据?接下来的问题是,假设我删除了一个特定的产品,每个部门如何知道它被删除了?