Morphia 中的查询基础 class 不起作用
query base class in Morphia doesn't work
我正在使用 Mongo java 驱动程序 3.0.0-beta2 和吗啡 0.110。
我有以下 类:
@Entity
public abstract class Animal {
protected ObjectID id;
}
@Entity
public class Cat extends Animal {
public String name;
}
两者都在初始化时注册了吗啡。
我有一个存储为 Cat 对象的 Animal 的 ID。
此查询 returns 空:
datastore.get(Animal.class, id);
虽然此查询为我提供了正确的对象:
datastore.get(Cat.class, id);
我是做错了还是有错误?我正在尝试做的事情是否可行?
我认为您需要为这些类型的查询定义集合(来自官方文档):
@Entity("animals") abstract class Animal { String name; }
@Entity("animals") Cat extends Animal { ... }
@Entity("animals") Dog extends Animal { ... }
List<Animal> animals = ds.createQuery(Animal.class).asList();
但我不确定你在这里想要达到什么目的。也许泛型会是一个更好的解决方案(提供一个泛型 "get by id")?
我正在使用 Mongo java 驱动程序 3.0.0-beta2 和吗啡 0.110。 我有以下 类:
@Entity
public abstract class Animal {
protected ObjectID id;
}
@Entity
public class Cat extends Animal {
public String name;
}
两者都在初始化时注册了吗啡。
我有一个存储为 Cat 对象的 Animal 的 ID。 此查询 returns 空:
datastore.get(Animal.class, id);
虽然此查询为我提供了正确的对象:
datastore.get(Cat.class, id);
我是做错了还是有错误?我正在尝试做的事情是否可行?
我认为您需要为这些类型的查询定义集合(来自官方文档):
@Entity("animals") abstract class Animal { String name; }
@Entity("animals") Cat extends Animal { ... }
@Entity("animals") Dog extends Animal { ... }
List<Animal> animals = ds.createQuery(Animal.class).asList();
但我不确定你在这里想要达到什么目的。也许泛型会是一个更好的解决方案(提供一个泛型 "get by id")?