JDOのリレーション(Unowed)を試してみたが。

BigTableのキーとか関連とか未だによく分からないけど、ちょっとずつこの辺りをやらねばと思い、TODOリストサービスに手を加えてみた。TaskクラスにCategoryクラスをフィールドとして持たせてやってたんだけど、なかなかうまくいかない。
そして、色々調べてたら、PicklesさんのGAE/Jのドキュメントのすばらしい訳文発見。
http://blog.memo.vg/2009/05/relationships.html
そして、ここにかかれている、Unowedな関連ってのを使って、実装するとなんとなくうまく行った。
もしかして、Ownedな関連でもうまく行くのかも知れないけど、とりあえず・・。

public class Task implements Serializable {
// ・・略
    @Persistent
    private String categoryKey;
    
    @NotPersistent
    private Category category;
// ・・略

TaskクラスにはCategoryのキーをStringで保持するようにする。Taskを保存するときカテゴリと関連させる場合、先に保存(または検索)したCategoryのキーを設定する。
検索してTask一覧を取得したら、手でがりがりcategoryKeyをもとに検索してきてcategoryフィールドにCategoryオブジェクトを設定していくって感じ。
こんなんで、いいのか?!
もうちょうい調べないとだめだなー。今日はここまで・・・zz

最新のコードは↓ここから落とせます。
http://code.google.com/p/hironemu-examples/source/checkout