3

私はオブジェクト指向データベースの設計に不慣れであり、Google App Engine用のJDOでクラスをどのように構成する必要があるか、特に1対多の関係を理解し​​ようとしています。

百貨店の構造を構築しているとしましょう。百貨店には多くの部門があり、各部門には多くの商品があります。したがって、Productクラスのリストである変数を持つDepartmentというクラスが必要です。

@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; 

}

ただし、1つの製品を複数の部門に含めることができます(たとえば、バッテリーが電子機器や家庭用品にある場合など)。次の質問は、OODの世界でデータを複製せず、多数の部門に製品データのコピーを1つだけ持つにはどうすればよいかということです。次の質問は、特定の製品を削除したとしましょう。各部門は、その製品が削除されたことをどのようにして知るのでしょうか。

4

1 に答える 1

2

Departmentクラスの関連メンバーに以下を追加する必要があります。また、AppEngineのドキュメントのこれに関するセクションも参照してください。

@Persistent
@Element(dependent = "true")
private List<Product> products; 
于 2010-06-09T00:12:21.540 に答える