0
标题有点奇怪,请让我澄清。基于列值检索子类集合
我有两个对象,车库和车辆,一对多的关系。有多种类型的车辆,例如汽车和卡车;该类型在Vehicle表中作为字符串持久化。
这里的两个类:
@Entity
@Table(...)
public class Garage {
....
@Column(name = "garageId")
private Integer garageId;
@OneToMany
@JoinColumn(name = "garageId")
private Set<Vehicle> vehicles;
....
}
@Entity
@Table(...)
public class Vehicle {
....
@Column(name = "garageId")
private Integer garageId;
//could be "Truck" or "Car"
@Column(name = "type")
private String type;
....
}
为了车辆类型区分,目前我们要看看类型列,并使用一个枚举。我想要做的是有Vehicle的子类,例如Car和Truck,来代表不同的类型,而不是依赖于Type字段。然后我的代码可以instanceof
来确定类型,而不是使用该字段。
但是,我不知道如何告诉Hibernate如何根据Type列的值来实例化子类,或者甚至可以。
我会很感激任何帮助,你们可以给。提前致谢!