【发布时间】:2011-03-01 10:22:50
【问题描述】:
我是面向对象数据库设计的新手,我正在尝试了解我应该如何在 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世界中不重复数据,在众多部门中只有一份产品数据?接下来的问题是,假设我删除了一个特定的产品,每个部门如何知道它被删除了?
【问题讨论】:
标签: java google-app-engine persistence jdo object-oriented-database