Objectify4 を使用して、Google データストアでジェネリック コレクションを永続化する際に問題が発生しています。例えば
@Entity
class AnimalInfo
{
@Id
String id;
Collection<Animal> animals;
}
@EntitySubClass
class Cat extends Animal
{
String name;
}
@EntitySubClass
class Dog extends Animal
{
String name;
}
@Entity
class Animal
{
@Id
String id;
}
AnimalInfo クラスを永続化して再度取得するにはどうすればよいですか。私は試しました:
objectify.save().entities(animalInfo).now();
しかし、それを再び取得している間:拡張クラスのCatまたはDogに対応するフィールドobjectify.load().type(AnimalInfo.class).id(animalInfo.id).get();
がありません。name
Animal クラスにはフィールドがないため、これもおそらく論理的ですname
。しかし、どうすればこれを機能させることができますか? ジェネリック インターフェイス IAnimal (Animal クラスの代わり) は、設計上はより優れたソリューションですが、具体的な型が必要なため、Objectify では機能しません。
上記の問題の解決策はありますか??
前もって感謝します。
ショーン