GAE/PのEntityで多対多の関係を持たせる方法

Google App EngineのEntityに、多対多の関係を持たせる場合、以下の2つの方法を用いることで実現できます。

  1. 片方のEntityにListPropertyを定義
  2. 新しいEntityを定義して、それに両方のEntityのReferencePropertyを定義

1番目の注意点は、ListPropertyのサイズを大きくしないことです。

もし、ListPropertyのサイズが大きくなる可能性がある場合、2番目の方法を取る方が望ましいみたいです。

また、それぞれの関係に対して、何か情報を持たせたい場合もまた、2番目の方法をとることになります。

ただし、2番目の方法ではデータストアのアクセスが増えるため、本当に必要な場合のみ採用するべきとのことです。

参考)エンティティの関係のモデル化

この記事が役に立った場合、シェアしていただけると励みになります!!