0

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

一个抽象类Event和其他 3 个子类EventAEventB以及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 层次结构/继承进行建模?

4

1 回答 1

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
}
于 2017-06-23T21:56:42.827 回答