【发布时间】:2022-10-04 23:55:00
【问题描述】:
所以我对休眠很陌生,想知道是否有可能将鉴别器值放在另一个表中,所以我有 3 个名为 Vehicles、BikeLots 和 BikeTypes 的表。我想根据 BikeType 映射 Vehicle ,我的表格如下所示:
车辆(VehicleId、SerialNumber、BikeLotId、Point)
BikeLots(BikeLotId、DeliveryDate、BikeTypeId)
BikeTypes(BikeTypeId,BikeTypeDescription)
是否可以根据 BikeTypeId 将车辆映射为 Dock 或 Dockless? 目前我的课程看起来像这样
@Entity(name = "Vehicles")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorFormula("CASE ?")
public abstract class Vehicle {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter
@Setter
private short vehicleId;
@Column(columnDefinition = "nvarchar(50)")
@Getter
@Setter
private String serialNumber;
private Point point;
@ManyToOne
@JoinColumn(name = "BikeLotId")
private Bikelot bikeLot;
}
@Entity
@DiscriminatorValue("Dockless")
public class DocklessVehicle extends Vehicle{
// valid code
}
@Entity
@DiscriminatorValue("Dock")
public class DockVehicle extends Vehicle {
}
如果还有什么我需要提供或澄清的,请告诉我,因为这是我在这里提出的第一个问题。
【问题讨论】: