Как сериализовать данные БД в подтип класса - PullRequest
0 голосов
/ 03 марта 2020

У меня есть класс Vehicle. Классы Bus и Car наследуются от Vehicle. Когда я запрашиваю коллекцию транспортных средств, я получаю только параметры в классе транспортных средств. Как получить параметры подкласса?

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@Document(collection = "vehicle")
public class Vehicle {
    @Id
    @JsonProperty("name")
    private String name;

    @JsonProperty("model")
    private String model;

    @JsonProperty("type")
    private String type;

}

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Car extends Vehicle {

    @JsonProperty("color")
    private String color;

}

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Bus extends Vehicle {

    @JsonProperty("noOfWheel")
    private String noOfWheel;

}

Запрос похож на

 Query query = new Query();
 List<Vehicle> result =  mongoTemplate.find(query, Vehicle.class);
 return result;
...