我一直在使用 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();
但是在再次取回它时:objectify.load().type(AnimalInfo.class).id(animalInfo.id).get();
没有name
与扩展类 Cat 或 Dog 对应的字段。
这也可能是合乎逻辑的,因为 Animal 类没有字段name
。但是我怎样才能让它工作呢?通用接口 IAnimal(代替 Animal 类)在设计方面是更好的解决方案,但这不适用于 Objectify,因为它需要具体类型。
以上问题有什么解决办法??
提前致谢。
肖恩