我有一个具有以下结构的java项目:
抽象类Event
和其他3个子类EventA
,EventB
和EventB
。
代码是这样的。
public abstract class Event {
@MongoId
@MongoObjectId
private String id;
private Place place;
private Person person;
public Event() { }
//more code
}
public class EventA extends Event {
private OtherObject other;
public EventA() { }
//more code
}
//more classes
在服务类中,我必须查询List,所以......
如何在java中为正确的Mongo-hierarchy / inheritance建模?
答案 0 :(得分:0)
我找到了解决方案,也许它可能对有相同问题的人有用:
因此,您可以在抽象类
上声明每个子类@JsonTypeInfo(use= JsonTypeInfo.Id.CLASS, property="_class")
@JsonSubTypes({
@JsonSubTypes.Type(value = EventA.class),
@JsonSubTypes.Type(value = EventB.class),
@JsonSubTypes.Type(value = EventC.class)
})
public abstract class Event(){
//code
}