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等)。也许谢谢,我会看一看