Java 基于JSON负载的动态继承实体

Java 基于JSON负载的动态继承实体,java,spring,spring-boot,jpa,spring-data-jpa,Java,Spring,Spring Boot,Jpa,Spring Data Jpa,所以我有了这个列表车辆其中Vehicle是两个子实体Car和Truck的父实体。我试图做的是发送一个POST请求,然后服务层根据JSON有效载荷自动为Car或Truck创建相应的对象 车辆: @Entity @Table(name = "vehicle") @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public class Vehicle{ @Id @GeneratedValue(str

所以我有了这个
列表车辆其中
Vehicle
是两个子实体
Car
Truck
的父实体。我试图做的是发送一个POST请求,然后服务层根据JSON有效载荷自动为
Car
Truck
创建相应的对象

车辆

@Entity
@Table(name = "vehicle")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Vehicle{

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private Integer index;

    public Vehicle() {
    }

    // getters and setters
}
Car

@Entity
@Table(name = "car")
public class Car extends Vehicle {

    private Integer maxSpeed;

    private String brand;

    public Car () {
    }

    public Car(Integer index, Integer maxSpeed, String brand) {
        super(index);
        this.maxSpeed = maxSpeed ;
        this.brand = brand;
    }

    // getters and setters
}
卡车

@Entity
@Table(name = "truck")
public class Truck extends Vehicle {

    private Integer weight;

    private Double size;

    public Truck() {
    }

    public Truck(Integer index, Integer value, String period) {
        super(index);
        this.weight = weight;
        this.size= size;
    }

    // getters and setters
}
JSON的
JSON
应该是这样的:

"vehicles": 
        [
            {
                "index": 1,
                "maxSpeed": "180",
                "brand": "Renault"
            },
            {
                "index": 0,
                "weight": 4000,
                "size": 25.0
            },
            {
                "index": 3,
                "weight": 3700,
                "size": 17.0
            },
            {
                "index": 2,
                "maxSpeed": "230",
                "brand": "Mercedes"
            }
        ]

将此JSON作为POST请求的主体发送,我想读取每辆车,并根据它们的属性创建相应的车辆类型(索引0->Truck,索引1->Car等)。

也许谢谢,我会看一看