mongodb中的层次结构与java中的jongo?

时间:2017-06-16 20:52:19

标签: java mongodb jongo

我有一个具有以下结构的java项目:

抽象类Event和其他3个子类EventAEventBEventB

代码是这样的。

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建模?

1 个答案:

答案 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
}