我们有以下课程
@Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE) // optional annotation as this is default @DiscriminatorColumn(name = "apType", discriminatorType = DiscriminatorType.STRING, length = 255) @DiscriminatorValue("AP") public class ApplicationProcess { }
和这个
@Entity @DiscriminatorValue("APS") public class ApplicationProcessScheme extends ApplicationProcess { }
现在,我需要在运行时知道ApplicationProcessis是否为DiscriminatorValue AP or APS。由于这是jpa自动处理的,因此我无法获取此值。
ApplicationProcess
DiscriminatorValue
AP or APS
我们正在调用一个带有ApplicationProcessas参数的方法,我想避免使用它instanceof来检查它是什么类型。如果我可以做些类似的事情会更酷
instanceof
applicationProcess.getApType().equals("AP");
您可以将鉴别符映射为只读属性:
public class ApplicationProcess { ... @Column(name = "apType", insertable = false, updatable = false) private String apType; }